@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
    --bg: #0B0E14;
    --panel: #12161D;
    --panel-border: #232833;
    --amber: #FFB020;
    --amber-dim: #8A5A12;
    --text: #ECE9E2;
    --muted: #7C8494;
    --green: #34D399;
    --green-bg: #0F2E22;
    --red: #F87171;
    --red-bg: #3A1418;
    --blue: #5EA1F2;
    --blue-bg: #122A44;
    --mono: 'IBM Plex Mono', 'Courier New', monospace;
    --sans: 'IBM Plex Sans', 'Segoe UI', Arial, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: var(--sans);
    background: var(--bg);
    background-image:
        linear-gradient(180deg, rgba(255,176,32,0.04) 0%, transparent 200px);
    color: var(--text);
    line-height: 1.6;
}

a { color: var(--amber); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---------- Navbar: terminal signage bar ---------- */
.navbar {
    background: var(--panel);
    padding: 16px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--amber-dim);
}

.navbar .brand {
    font-family: var(--mono);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text);
}
.brand-link { display: flex; align-items: center; gap: 10px; text-decoration: none !important; }
.brand-badge {
    width: 30px; height: 30px;
    border: 1.5px solid var(--amber);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--amber);
    flex-shrink: 0;
}
.brand-logo {
    height: 30px;
    width: auto;
    flex-shrink: 0;
}

.navbar-end {
    display: flex;
    align-items: center;
    gap: 28px;
}

.navbar-menu { display: flex; align-items: center; gap: 0; }
.navbar-menu a {
    margin-left: 22px;
    color: var(--muted);
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.15s ease;
}
.navbar-menu a:first-child { margin-left: 0; }
.navbar-menu a:hover { color: var(--amber); text-decoration: none; }

/* ---------- Navbar: mobil hamburger menü (includes/navbar.php kullanan tüm sayfalarda) ---------- */
.navbar-toggle {
    display: none;
    width: 40px; height: 38px;
    padding: 9px;
    border: 1px solid var(--panel-border);
    border-radius: 7px;
    background: transparent;
    cursor: pointer;
    margin-left: auto;
}
.navbar-toggle span { display: block; height: 2px; margin: 4px 0; background: var(--muted); border-radius: 1px; }
@media (max-width: 900px) {
    .navbar { position: relative; flex-wrap: wrap; }
    .navbar-toggle { display: block; }
    .navbar-end {
        display: none;
        width: 100%;
        padding: 16px 0 6px;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }
    .navbar.nav-open .navbar-end { display: flex; }
    .navbar-menu { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
    .navbar-menu a,
    .navbar-dropdown-toggle {
        display: block;
        margin-left: 0 !important;
        padding: 11px 0;
        border-bottom: 1px solid var(--panel-border);
    }
    .navbar-dropdown { margin-left: 0; display: block; }
    .navbar-dropdown-menu {
        position: static;
        display: none;
        margin: 0 0 8px;
        padding-left: 14px;
        border: none;
        box-shadow: none;
        background: transparent;
    }
    .navbar-dropdown.open .navbar-dropdown-menu { display: block; }
    .navbar-right {
        width: 100%;
        padding-top: 10px;
        flex-wrap: wrap;
        border-top: 1px solid var(--panel-border);
    }
}

.navbar a {
    margin-left: 22px;
    color: var(--muted);
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.15s ease;
}
.navbar a:hover { color: var(--amber); text-decoration: none; }

/* navbar-right: flexbox gap tek başına boşluğu kontrol etsin, eski margin'ler sıfırlanıyor */
.navbar-right {
    display: flex;
    align-items: center;
    gap: 18px;
}
.navbar-right a { margin-left: 0; }
.navbar-right .lang-select { margin: 0; }
.navbar-right .theme-toggle { margin: 0; }

/* ---------- Navbar: dropdown menu (click-based) ---------- */
.navbar-dropdown {
    position: relative;
    display: inline-block;
    margin-left: 22px;
}
.navbar-dropdown-toggle {
    color: var(--muted);
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.15s ease;
    user-select: none;
}
.navbar-dropdown-toggle:hover,
.navbar-dropdown.open .navbar-dropdown-toggle { color: var(--amber); }
.navbar-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 12px;
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 6px;
    min-width: 170px;
    padding: 6px 0;
    box-shadow: 0 12px 30px rgba(0,0,0,0.4);
    z-index: 200;
}
.navbar-dropdown.open .navbar-dropdown-menu { display: block; }
.navbar-dropdown-menu a {
    display: block;
    margin-left: 0 !important;
    padding: 9px 16px;
    font-size: 12px;
    cursor: pointer;
}
.navbar-dropdown-menu a:hover { background: rgba(255,176,32,0.08); }

.lang-select {
    width: auto;
    margin: 0 10px 0 0;
    padding: 6px 8px;
    font-family: var(--mono);
    font-size: 12px;
    background: var(--bg);
    border: 1px solid var(--panel-border);
    color: var(--muted);
    border-radius: 4px;
    cursor: pointer;
}
.lang-select:focus { outline: none; border-color: var(--amber); }

.theme-toggle {
    width: auto;
    margin: 0 14px 0 0;
    padding: 6px 10px;
    background: var(--bg);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
}
.theme-toggle:hover { border-color: var(--amber); }

/* ---------- Layout ---------- */
.container {
    max-width: 1000px;
    margin: 30px auto;
    padding: 0 20px;
}

.card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    padding: 25px;
    margin-bottom: 20px;
    position: relative;
}

h1, h2, h3 {
    color: var(--text);
    margin-bottom: 15px;
    font-family: var(--mono);
    letter-spacing: 0.02em;
}

h1 { font-weight: 600; }
h2, h3 { font-weight: 600; text-transform: uppercase; font-size: 15px; color: var(--amber); }
h1 + p, h2 + p { font-family: var(--sans); }

/* ---------- Tables: departure-board rows ---------- */
table { width: 100%; border-collapse: collapse; }
@media (max-width: 700px) {
    /* Geniş tabloları içeren kartlar mobilde kendi içinde yatay kaysın, sayfa taşmasın */
    .card { overflow-x: auto; }
    .card table { min-width: 560px; }
}
th, td {
    padding: 12px 10px;
    text-align: left;
    border-bottom: 1px solid var(--panel-border);
    font-size: 14px;
}
th {
    color: var(--muted);
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
td { font-family: var(--sans); }
td strong, td code { font-family: var(--mono); }
tr:hover td { background: rgba(255,176,32,0.03); }

/* ---------- Forms ---------- */
input, select, textarea, button {
    width: 100%;
    padding: 11px 12px;
    margin: 8px 0;
    background: var(--bg);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    color: var(--text);
    font-size: 14px;
    font-family: var(--sans);
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--amber);
}
label {
    display: block;
    margin-top: 10px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}

button {
    background: transparent;
    border: 1px solid var(--amber);
    color: var(--amber);
    cursor: pointer;
    font-family: var(--mono);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 13px;
    transition: background 0.15s ease, color 0.15s ease;
}
button:hover { background: var(--amber); color: #14181F; }

/* ---------- Status badges: board pills ---------- */
.badge {
    display: inline-block;
    padding: 4px 11px;
    border-radius: 3px;
    font-size: 11px;
    font-family: var(--mono);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.badge.approved { background: var(--green-bg); color: var(--green); }
.badge.pending  { background: rgba(255,176,32,0.12); color: var(--amber); }
.badge.rejected { background: var(--red-bg); color: var(--red); }
.badge.active   { background: var(--blue-bg); color: var(--blue); }

/* ---------- Stat tiles: split-flap board ---------- */
.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}
.stat-box {
    background: #0D1015;
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    padding: 22px 18px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.stat-box::before {
    content: "";
    position: absolute;
    top: 50%; left: 0; right: 0;
    height: 1px;
    background: rgba(0,0,0,0.4);
}
.stat-box .num {
    font-family: var(--mono);
    font-size: 30px;
    font-weight: 700;
    color: var(--amber);
    letter-spacing: 0.02em;
    display: inline-block;
    animation: flap-settle 0.5s cubic-bezier(.2,.9,.3,1) both;
}
.stat-box .label {
    font-size: 11px;
    color: var(--muted);
    margin-top: 8px;
    font-family: var(--mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@keyframes flap-settle {
    0%   { transform: rotateX(90deg); opacity: 0; }
    60%  { transform: rotateX(-12deg); opacity: 1; }
    100% { transform: rotateX(0deg); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .stat-box .num { animation: none; }
}

/* ---------- Alerts ---------- */
.error {
    background: var(--red-bg);
    color: #FCA5A5;
    padding: 12px 14px;
    border-radius: 4px;
    margin-bottom: 15px;
    border-left: 3px solid var(--red);
    font-size: 14px;
}
.success {
    background: var(--green-bg);
    color: #86EFAC;
    padding: 12px 14px;
    border-radius: 4px;
    margin-bottom: 15px;
    border-left: 3px solid var(--green);
    font-size: 14px;
}

/* ---------- Auth pages: boarding-pass ticket card ---------- */
.auth-page .card {
    border: 1px solid var(--panel-border);
    background: var(--panel);
    background-image: repeating-linear-gradient(
        to bottom,
        transparent, transparent 7px,
        var(--panel-border) 7px, var(--panel-border) 8px
    );
    background-size: 1px 100%;
    background-repeat: no-repeat;
    background-position: 78px 0;
    padding-left: 100px;
}
.auth-page .card::before,
.auth-page .card::after {
    content: "";
    position: absolute;
    left: 72px;
    width: 14px; height: 14px;
    background: var(--bg);
    border-radius: 50%;
    transform: translateX(-50%);
}
.auth-page .card::before { top: -8px; }
.auth-page .card::after { bottom: -8px; }
.auth-page .card h2 {
    writing-mode: vertical-rl;
    position: absolute;
    left: 24px; top: 25px; bottom: 25px;
    font-size: 12px;
    letter-spacing: 0.15em;
    color: var(--amber-dim);
}
@media (max-width: 480px) {
    .auth-page .card { padding-left: 25px; background: none; }
    .auth-page .card::before, .auth-page .card::after { display: none; }
    .auth-page .card h2 { position: static; writing-mode: horizontal-tb; color: var(--amber); margin-bottom: 15px; }
}

/* ---------- Homepage: Hero (rotating 3-image slideshow, büyütülmüş) ---------- */
.hero {
    position: relative;
    background: #0B0E14;
    border-bottom: 1px solid var(--panel-border);
    padding: 130px 20px 130px;
    min-height: 640px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
.hero-slides {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 42%;
    opacity: 0;
    animation: heroSlideFade 18s infinite;
}
@keyframes heroSlideFade {
    0%   { opacity: 0; }
    4%   { opacity: 1; }
    29%  { opacity: 1; }
    36%  { opacity: 0; }
    100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-slide { animation: none; opacity: 0; }
    .hero-slide:first-child { opacity: 1; }
}
.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(11,14,20,0.45) 0%, rgba(11,14,20,0.75) 100%);
}
.hero-visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    display: none;
}
.hero-glow {
    position: absolute;
    top: -140px; left: 50%;
    width: 500px; height: 500px;
    margin-left: -250px;
    background: radial-gradient(circle, rgba(255,176,32,0.10) 0%, transparent 70%);
    border-radius: 50%;
}
.hero-cloud {
    position: absolute;
    border-radius: 50%;
    background: rgba(236,233,226,0.035);
    filter: blur(2px);
}
.hero-cloud.c1 { width: 260px; height: 60px; top: 30px; left: 8%; }
.hero-cloud.c2 { width: 340px; height: 80px; top: 90px; right: 6%; }
.hero-cloud.c3 { width: 200px; height: 50px; bottom: 30px; left: 30%; }
.hero-plane {
    position: absolute;
    width: 90px;
    top: 40px; left: -120px;
    opacity: 0.55;
    animation: hero-fly 22s linear infinite;
}
.hero-wing {
    position: absolute;
    right: -40px;
    bottom: -60px;
    width: 62%;
    max-width: 560px;
    height: auto;
    opacity: 0.92;
    filter: drop-shadow(0 -6px 20px rgba(0,0,0,0.35));
}
@media (max-width: 700px) {
    .hero-wing { width: 85%; right: -60px; bottom: -40px; opacity: 0.8; }
}
.hero-trail {
    position: absolute;
    top: 55px; left: -120px;
    width: 70px; height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,176,32,0.3));
    animation: hero-fly 22s linear infinite;
}
@keyframes hero-fly {
    0%   { transform: translateX(0) translateY(0); }
    50%  { transform: translateX(calc(50vw + 60px)) translateY(-30px); }
    100% { transform: translateX(calc(100vw + 240px)) translateY(-60px); }
}
@media (prefers-reduced-motion: reduce) {
    .hero-plane, .hero-trail { animation: none; left: 40%; }
}
.hero-inner { position: relative; max-width: 720px; margin: 0 auto; z-index: 2; }
.hero-caption {
    display: inline-block;
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--amber);
    background: rgba(255,176,32,0.1);
    border: 1px solid rgba(255,176,32,0.3);
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 20px;
}
.hero-tag {
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.2em;
    color: var(--amber);
    margin-bottom: 18px;
}
.hero-title {
    font-family: var(--mono);
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--text);
    margin-bottom: 18px;
    line-height: 1.2;
}
.hero-sub {
    font-family: var(--sans);
    font-size: 15px;
    color: var(--muted);
    max-width: 560px;
    margin: 0 auto 30px;
    line-height: 1.7;
}
.hero-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-cta {
    display: inline-block;
    padding: 13px 28px;
    font-family: var(--mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none !important;
    transition: all 0.15s ease;
}
.btn-cta-primary { background: var(--amber); color: #14181F; }
.btn-cta-primary:hover { background: #ffc04d; }
.btn-cta-ghost { border: 1px solid var(--panel-border); color: var(--text); }
.btn-cta-ghost:hover { border-color: var(--amber); color: var(--amber); }

@media (max-width: 600px) {
    .hero { padding: 90px 16px 90px; min-height: 460px; }
    .hero-title { font-size: 28px; }
    .hero-plane { width: 70px; }
}

/* ---------- Homepage: Feature strip ---------- */
.feature-strip {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--bg);
    border-bottom: 1px solid var(--panel-border);
    padding: 22px 20px;
}
.feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 22px;
    border-right: 1px solid var(--panel-border);
}
.feature-item:last-child { border-right: none; }
.feature-icon { font-size: 22px; }
.feature-text {
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.03em;
    color: var(--text);
}
@media (max-width: 700px) {
    .feature-item { border-right: none; padding: 6px 14px; }
}

/* ---------- Homepage: Route cards ---------- */
.route-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.route-card-cities {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}
.route-card-arrow { color: var(--amber); font-size: 13px; }
.route-card-codes {
    font-family: var(--mono);
    font-size: 12px;
    color: var(--amber-dim);
    letter-spacing: 0.05em;
}
.route-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-family: var(--sans);
    font-size: 12px;
    color: var(--muted);
    margin-top: 4px;
}
.route-card-link {
    margin-top: 10px;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
}

/* ---------- Homepage: CTA banner ---------- */
.cta-banner {
    background: linear-gradient(135deg, #1D4ED8 0%, #1A73E8 100%);
    padding: 60px 20px;
    text-align: center;
}
.cta-banner-inner { max-width: 600px; margin: 0 auto; }
.cta-banner h2 {
    font-family: var(--mono);
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    text-transform: none;
    margin-bottom: 12px;
}
.cta-banner p {
    font-family: var(--sans);
    font-size: 14px;
    color: rgba(255,255,255,0.85);
    margin-bottom: 24px;
    line-height: 1.7;
}
.cta-banner-btn {
    background: var(--amber);
    color: #14181F;
}
.cta-banner-btn:hover { background: #ffc04d; }

/* ---------- Homepage: Content cards (news/tours/events) ---------- */
.content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.content-grid-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.content-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    padding: 20px;
}
.content-card h3 {
    font-size: 14px;
    text-transform: none;
    color: var(--text);
    margin: 10px 0 8px;
}
.content-card p {
    font-family: var(--sans);
    font-size: 13px;
    color: var(--muted);
    line-height: 1.6;
}
.content-card-badge {
    display: inline-block;
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 3px 9px;
    border-radius: 3px;
}
.badge-news  { background: var(--blue-bg); color: var(--blue); }
.badge-tour  { background: rgba(255,176,32,0.12); color: var(--amber); }
.badge-event { background: var(--green-bg); color: var(--green); }
.content-card-date {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--amber-dim);
    margin-top: 12px;
}

/* ---------- Homepage: Welcome section ---------- */
.welcome-section {
    background: var(--panel);
    border-bottom: 1px solid var(--panel-border);
    padding: 50px 20px;
    text-align: center;
}
.welcome-inner { max-width: 700px; margin: 0 auto; }
.welcome-title {
    font-family: var(--mono);
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
    text-transform: none;
    margin-bottom: 16px;
}
.welcome-body {
    font-family: var(--sans);
    font-size: 14px;
    line-height: 1.8;
    color: var(--muted);
}

/* ---------- Homepage: Stats strip ---------- */
.stats-strip {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background: var(--panel);
    border-bottom: 1px solid var(--panel-border);
    padding: 26px 20px;
}
.stat-item {
    text-align: center;
    padding: 10px 40px;
    border-right: 1px solid var(--panel-border);
}
.stat-item:last-child { border-right: none; }
.stat-item-num {
    font-family: var(--mono);
    font-size: 26px;
    font-weight: 700;
    color: var(--amber);
}
.stat-item-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 4px;
}
@media (max-width: 600px) {
    .stat-item { padding: 10px 18px; border-right: none; }
}

/* ---------- Homepage: Designator strip ---------- */
.designator-strip {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background: var(--bg);
    border-bottom: 1px solid var(--panel-border);
    padding: 14px 20px;
}
.designator-item {
    font-family: var(--mono);
    font-size: 12px;
    color: var(--muted);
    padding: 4px 26px;
    border-right: 1px solid var(--panel-border);
}
.designator-item:last-child { border-right: none; }
.designator-item strong { color: var(--text); font-weight: 600; }
.designator-label {
    letter-spacing: 0.12em;
    color: var(--amber-dim);
}
@media (max-width: 600px) {
    .designator-item { padding: 4px 14px; border-right: none; font-size: 11px; }
}

/* ---------- Homepage: Section title ---------- */
.section-title {
    font-family: var(--mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: var(--amber);
    margin: 50px 0 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--panel-border);
}

/* ---------- Homepage: Steps ---------- */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.step-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 4px;
    padding: 22px;
}
.step-num {
    font-family: var(--mono);
    font-size: 22px;
    font-weight: 700;
    color: var(--amber-dim);
    margin-bottom: 8px;
}
.step-card h3 {
    font-size: 14px;
    margin-bottom: 8px;
    color: var(--text);
    text-transform: none;
}
.step-card p {
    font-family: var(--sans);
    font-size: 13px;
    color: var(--muted);
    line-height: 1.6;
}

/* ---------- Homepage: Footer ---------- */
.footer-note {
    text-align: center;
    font-family: var(--mono);
    font-size: 12px;
    color: var(--muted);
    padding: 40px 0 60px;
    line-height: 1.9;
}

/* ---------- Disclaimer popup ---------- */
.disclaimer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(5,7,10,0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}
.disclaimer-modal {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 8px;
    max-width: 480px;
    width: 100%;
    padding: 32px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.disclaimer-title {
    font-family: var(--mono);
    font-size: 16px;
    letter-spacing: 0.1em;
    color: var(--amber);
    margin-bottom: 16px;
}
.disclaimer-body {
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.8;
    color: var(--muted);
    margin-bottom: 24px;
}

/* ---------- Full-page registration ---------- */
.reg-page {
    min-height: calc(100vh - 66px);
    padding: 50px 20px 70px;
    background:
        radial-gradient(ellipse 900px 500px at 50% -10%, rgba(255,176,32,0.08), transparent 70%),
        var(--bg);
}
.reg-wrap { max-width: 720px; margin: 0 auto; }
.reg-title {
    font-family: var(--mono);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--text);
    text-align: center;
    margin-bottom: 30px;
}
.reg-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 8px;
    padding: 36px;
}
.reg-discord-btn {
    width: 100%;
    background: #5865F2;
    color: #fff;
    border: none;
}
.reg-discord-btn:hover { background: #4752C4; }
.reg-or {
    text-align: center;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.15em;
    color: var(--muted);
    margin: 18px 0;
}
.form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
@media (max-width: 600px) {
    .form-grid-2 { grid-template-columns: 1fr; gap: 0; }
    .reg-card { padding: 22px; }
    .reg-title { font-size: 22px; }
}

/* ---------- Ranks page ---------- */
.ranks-panel {
    border: 1px solid var(--panel-border);
    border-radius: 6px;
    overflow: hidden;
    margin-top: 20px;
}
.ranks-panel-header {
    background: var(--panel);
    border-bottom: 1px solid var(--panel-border);
    padding: 14px 20px;
    font-family: var(--mono);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    letter-spacing: 0.02em;
}
.ranks-panel-icon { margin-right: 6px; }
.ranks-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 20px;
    background: var(--bg);
}
.ranks-per-page {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 12px;
    color: var(--muted);
}
.ranks-per-page select {
    width: 70px;
    margin: 0;
    padding: 6px 8px;
    font-size: 12px;
}
.ranks-search {
    width: 220px;
    margin: 0;
    padding: 8px 12px;
    font-size: 13px;
}
.ranks-table { background: var(--bg); }
.ranks-table th, .ranks-table td { padding: 14px 20px; }
.ranks-table .rank-name { font-family: var(--sans); color: var(--text); }
.ranks-footer {
    padding: 14px 20px;
    font-family: var(--mono);
    font-size: 12px;
    color: var(--muted);
    background: var(--bg);
    border-top: 1px solid var(--panel-border);
}

/* ---------- Dashboard: pilot profile hero ---------- */
.dash-hero {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 6px;
    padding: 28px 30px;
    margin: 20px 0;
}
.dash-hello {
    font-family: var(--mono);
    font-size: 30px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 16px;
    text-transform: none;
}
.dash-line {
    font-family: var(--sans);
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 8px;
}
.dash-line strong { color: var(--text); font-weight: 600; }
.dash-label { color: var(--muted); }
.dash-xp { color: var(--amber); }
.dash-jumpseat-btn {
    display: inline-block;
    width: auto;
    padding: 5px 12px;
    margin: 0;
    font-size: 11px;
    background: transparent;
    border: 1px solid var(--panel-border);
    color: var(--text);
    border-radius: 4px;
    cursor: pointer;
}
.dash-jumpseat-btn:hover { border-color: var(--amber); color: var(--amber); }
.dash-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dash-section-header h3 { margin-bottom: 0; }
.dash-section-header a { font-size: 13px; font-family: var(--mono); }
.dash-notam-item {
    padding: 14px 0;
    border-bottom: 1px solid var(--panel-border);
}
.dash-notam-item:last-child { border-bottom: none; padding-bottom: 0; }
.dash-notam-item strong { color: var(--text); font-family: var(--sans); font-size: 14px; }
.dash-notam-date {
    display: block;
    margin-top: 6px;
    font-family: var(--mono);
    font-size: 11px;
    color: var(--amber-dim);
}

/* ---------- Light theme override ---------- */
:root[data-theme="light"] {
    --bg: #F5F3EE;
    --panel: #FFFFFF;
    --panel-border: #E1DED4;
    --amber: #B8720A;
    --amber-dim: #D9A65C;
    --text: #1A1D23;
    --muted: #6B7280;
    --green: #067647;
    --green-bg: #DCFCE7;
    --red: #B91C1C;
    --red-bg: #FEE2E2;
    --blue: #1D4ED8;
    --blue-bg: #DBEAFE;
}
:root[data-theme="light"] body {
    background-image: linear-gradient(180deg, rgba(184,114,10,0.05) 0%, transparent 200px);
}
:root[data-theme="light"] .stat-box { background: #FDFCFA; }
:root[data-theme="light"] .success { color: #067647; }
:root[data-theme="light"] .error { color: #B91C1C; }
:root[data-theme="light"] .btn-cta-primary { color: #FFFFFF; }
:root[data-theme="light"] button:hover { color: #FFFFFF; }
:root[data-theme="light"] .card,
:root[data-theme="light"] .content-card,
:root[data-theme="light"] .step-card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* ==========================================================
   HOME-NAVY: GökTürk-tarzı belirgin mavi tema
   body.home-navy sınıfı eklenen HER sayfada devreye girer
   ========================================================== */
body.home-navy {
    background: #C3D9F2;
    background-image: linear-gradient(180deg, #D3E4F7 0%, #C3D9F2 400px, #B7D0EE 100%);
    color: #1A2233;
}
body.home-navy .navbar {
    background: #FFFFFF;
    border-bottom: 1px solid #C7D5E5;
}
body.home-navy .navbar .brand { color: #14315C; }
body.home-navy .navbar-menu a,
body.home-navy .navbar-dropdown-toggle { color: #4B5A72; }
body.home-navy .navbar-menu a:hover,
body.home-navy .navbar-dropdown-toggle:hover,
body.home-navy .navbar-dropdown.open .navbar-dropdown-toggle { color: #14315C; }
body.home-navy .navbar-dropdown-menu { background: #FFFFFF; border-color: #DCE6F0; }
body.home-navy .navbar-dropdown-menu a { color: #14315C; }
/* Dil seçici ve tema butonu: sayfa arkaplanından ayırt edilsin diye beyaz zemin */
body.home-navy .navbar-right .lang-select,
body.home-navy .navbar-right .theme-toggle {
    background: #FFFFFF;
    border: 1px solid #C7D5E5;
    color: #14315C;
}
body.home-navy .navbar-right .lang-select:focus { border-color: #14315C; }
body.home-navy .btn-pill-outline {
    display: inline-block;
    padding: 8px 20px;
    border: 1.5px solid #14315C;
    border-radius: 24px;
    color: #14315C !important;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    margin-left: 0 !important;
    white-space: nowrap;
}
body.home-navy .btn-pill-outline:hover { background: #14315C; color: #fff !important; }
body.home-navy .navbar-right a:not(.btn-pill-outline) {
    color: #14315C;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
/* includes/navbar.php kullanan sayfalarda (dashboard, flights, live_map, pirep_submit) menü/link renkleri */
body.home-navy .navbar-menu a { color: #4B5A72; }
body.home-navy .navbar-menu a:hover { color: #14315C; }

/* Hero: slaytlar zaten var, sadece caption/başlık rengini beyaz tutuyoruz */
body.home-navy .hero-navy .hero-caption {
    background: rgba(20,49,92,0.55);
    border-color: rgba(255,255,255,0.3);
    color: #fff;
}
body.home-navy .hero-navy .hero-title { color: #fff; }
body.home-navy .hero-navy .hero-sub { color: rgba(255,255,255,0.85); }
body.home-navy .hero-navy .btn-cta-primary { background: #14315C; color: #fff; }
body.home-navy .hero-navy .btn-cta-primary:hover { background: #1D4A82; }
body.home-navy .hero-navy .btn-cta-ghost { border-color: rgba(255,255,255,0.6); color: #fff; }
body.home-navy .hero-navy .btn-cta-ghost:hover { border-color: #fff; background: rgba(255,255,255,0.1); }

/* Welcome + features */
body.home-navy .welcome-section { background: transparent; border-bottom: none; padding-bottom: 10px; }
body.home-navy .welcome-title { color: #14315C; font-size: 26px; text-transform: none; }
body.home-navy .welcome-body { color: #33465E; }
.welcome-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 0 20px 40px;
    text-align: center;
}
.welcome-feature-icon { font-size: 32px; margin-bottom: 10px; }
.welcome-feature h3 {
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 700;
    text-transform: none;
    color: #14315C;
    margin-bottom: 8px;
    letter-spacing: 0;
}
.welcome-feature p {
    font-family: var(--sans);
    font-size: 13px;
    color: #33465E;
    line-height: 1.7;
}

/* Stats strip: koyu lacivert bant */
body.home-navy .stats-strip { background: #14315C; border-bottom: none; }
body.home-navy .stats-strip .stat-item-num { color: #fff; }
body.home-navy .stats-strip .stat-item-label { color: rgba(255,255,255,0.75); }
body.home-navy .stats-strip .stat-item { border-right-color: rgba(255,255,255,0.15); }

body.home-navy .section-title,
body.home-navy h1,
body.home-navy h2,
body.home-navy h3 {
    color: #14315C;
    border-bottom-color: #A8C4E8;
}
body.home-navy .card {
    background: #FFFFFF;
    border-color: #C7D5E5;
}

/* Genel form/tablo/rozet uyumu (panel, uçuş programı, canlı harita vb. sayfalar için) */
body.home-navy th, body.home-navy td { border-bottom-color: #E7EEF6; }
body.home-navy th { color: #5A6B82; }
body.home-navy td { color: #1A2233; }
body.home-navy tr:hover td { background: #F3F8FD; }
body.home-navy input, body.home-navy select, body.home-navy textarea {
    background: #F7FAFD;
    border-color: #C7D5E5;
    color: #1A2233;
}
body.home-navy input:focus, body.home-navy select:focus, body.home-navy textarea:focus { border-color: #14315C; }
body.home-navy label { color: #5A6B82; }
body.home-navy button:not(.dash-jumpseat-btn):not(.btn-pill-outline) { border-color: #14315C; color: #14315C; }
body.home-navy button:not(.dash-jumpseat-btn):not(.btn-pill-outline):hover { background: #14315C; color: #fff; }
body.home-navy a { color: #1A73E8; }
body.home-navy .badge.active { background: #DCE9F7; color: #14315C; }

/* Dashboard: pilot profil kartı */
body.home-navy .dash-hero { background: #FFFFFF; border-color: #C7D5E5; }
body.home-navy .dash-hello { color: #14315C; }
body.home-navy .dash-line { color: #33465E; }
body.home-navy .dash-label { color: #5A6B82; }
body.home-navy .dash-line strong { color: #14315C; }
body.home-navy .dash-xp { color: #D4574B; }
body.home-navy .dash-jumpseat-btn { border-color: #C7D5E5; color: #14315C; background: #F7FAFD; }
body.home-navy .dash-jumpseat-btn:hover { border-color: #14315C; color: #14315C; }
body.home-navy .dash-notam-item { border-bottom-color: #E7EEF6; }
body.home-navy .dash-notam-item strong { color: #14315C; }
body.home-navy .dash-notam-date { color: #5A6B82; }

/* Kayıt (register) ve genel kart sayfaları */
body.home-navy .reg-page {
    background: transparent;
}
body.home-navy .reg-title { color: #14315C; }
body.home-navy .reg-card { background: #FFFFFF; border-color: #C7D5E5; }
body.home-navy .reg-or { color: #5A6B82; }

/* Ranks panel */
body.home-navy .ranks-panel { border-color: #C7D5E5; }
body.home-navy .ranks-panel-header { background: #FFFFFF; border-bottom-color: #C7D5E5; color: #14315C; }
body.home-navy .ranks-toolbar { background: #F7FAFD; }
body.home-navy .ranks-table { background: #FFFFFF; }
body.home-navy .ranks-table .rank-name { color: #1A2233; }
body.home-navy .ranks-footer { background: #F7FAFD; border-top-color: #C7D5E5; color: #5A6B82; }

/* Canlı harita: kenardan kenara, boşluksuz */
.full-bleed-map { width: 100%; line-height: 0; }
.full-bleed-map #homeMap { width: 100%; border-radius: 0; }

/* Landing rate / register banner */
.landing-banner {
    background: #1D4A82;
    padding: 30px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
.landing-banner-inner { text-align: center; max-width: 700px; }
.landing-banner h2 {
    color: #fff;
    font-family: var(--sans);
    font-size: 20px;
    text-transform: none;
    margin-bottom: 6px;
}
.landing-banner p {
    color: rgba(255,255,255,0.8);
    font-family: var(--sans);
    font-size: 13px;
}
.landing-banner-btn {
    display: inline-block;
    margin-top: 14px;
    background: #fff;
    color: #14315C !important;
}
.landing-banner-btn:hover { background: #E8EEF7; }

/* Top pilot of the month row */
.top-pilot-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0;
    max-width: 1100px;
    margin: 0 auto;
}
.top-pilot-card {
    padding: 30px 26px;
    text-align: center;
}
.top-pilot-dark { background: #14315C; color: #fff; }
.top-pilot-light { background: #FFFFFF; border: 2px solid #1D4A82; color: #1A2233; }
.top-pilot-icon { font-size: 28px; margin-bottom: 10px; }
.top-pilot-card h3 {
    font-family: var(--sans);
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 16px;
}
.top-pilot-dark h3 { color: #fff; }
.top-pilot-light h3 { color: #14315C; }
.top-pilot-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    font-family: var(--sans);
    font-size: 13px;
    border-bottom: 1px solid rgba(128,128,128,0.15);
}
.top-pilot-badge {
    border: 1.5px solid #D4574B;
    color: #D4574B;
    border-radius: 4px;
    padding: 1px 8px;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 700;
}
.top-pilot-empty { font-size: 13px; opacity: 0.7; }

/* Recent flights table (GokTurk style) */
.section-title-center {
    text-align: center;
    font-family: var(--sans);
    font-size: 22px;
    font-weight: 700;
    color: #14315C;
    margin: 50px 0 24px;
}
.recent-flights-wrap {
    overflow-x: auto;
    background: #FFFFFF;
    border: 1px solid #C7D5E5;
    border-radius: 6px;
}
.recent-flights-table { width: 100%; border-collapse: collapse; min-width: 900px; table-layout: auto; }
.recent-flights-table th {
    background: #F0F5FB;
    color: #33465E;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 10px 9px;
    text-align: left;
    border-bottom: 1px solid #C7D5E5;
}
.recent-flights-table td {
    padding: 8px 9px;
    font-family: var(--sans);
    font-size: 12.5px;
    color: #1A2233;
    border-bottom: 1px solid #E7EEF6;
    white-space: nowrap;
}
.recent-flights-table tr:hover td { background: #F3F8FD; }
.status-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 3px;
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border: 1px solid;
}
.status-approved { color: #067647; border-color: #067647; background: #ECFDF3; }
.status-rejected { color: #B91C1C; border-color: #B91C1C; background: #FEF2F2; }
.status-pending { color: #14315C; border-color: #14315C; background: #EFF3F8; }

/* Footer: koyu, çok kolonlu */
.site-footer { background: #10233F; padding: 50px 20px 0; margin-top: 60px; }
.site-footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
    padding-bottom: 30px;
}
.footer-col h4 {
    color: #fff;
    font-family: var(--sans);
    font-size: 15px;
    margin-bottom: 14px;
}
.footer-col p {
    color: rgba(255,255,255,0.6);
    font-family: var(--sans);
    font-size: 13px;
    line-height: 1.7;
}
.footer-col a {
    display: block;
    color: rgba(255,255,255,0.65);
    font-family: var(--sans);
    font-size: 13px;
    margin-bottom: 8px;
}
.footer-col a:hover { color: #fff; }
.site-footer .footer-note {
    border-top: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.4);
    padding: 20px 0;
}

@media (max-width: 700px) {
    .recent-flights-table { min-width: 700px; }
}

/* ==========================================================
   LOGIN CREW: GökTürk giriş sayfası stili
   ========================================================== */
.login-crew-page {
    min-height: 100vh;
    background: linear-gradient(180deg, rgba(20,49,92,0.35) 0%, rgba(10,20,35,0.55) 100%),
                url('../img/Airbus.jpg') center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.login-crew-inner { width: 100%; max-width: 440px; }
.login-crew-title {
    font-family: var(--sans);
    font-size: 30px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    margin-bottom: 24px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.login-crew-card {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 34px 32px 24px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.login-crew-field {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #E1E5EA;
    padding-bottom: 8px;
    margin-bottom: 22px;
}
.login-crew-icon { font-size: 16px; opacity: 0.6; }
.login-crew-field input {
    border: none;
    background: none;
    padding: 4px 0;
    margin: 0;
    font-size: 14px;
    color: #1A2233;
}
.login-crew-field input:focus { outline: none; }
.login-crew-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    margin-bottom: 20px;
}
.login-crew-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--sans);
    font-size: 13px;
    color: #55647A;
    cursor: pointer;
}
.login-crew-btn {
    width: auto;
    padding: 10px 26px;
    background: #1A73E8;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: var(--sans);
    font-weight: 600;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
    margin: 0;
}
.login-crew-btn:hover { background: #1558B0; }
.login-crew-links {
    display: flex;
    justify-content: space-between;
    font-family: var(--sans);
    font-size: 13px;
    margin-bottom: 18px;
}
.login-crew-links a { color: #55647A; }
.login-crew-links a:hover { color: #1A73E8; }
.login-crew-footer {
    text-align: center;
    font-family: var(--sans);
    font-size: 11px;
    color: #9AA5B1;
    line-height: 1.8;
    border-top: 1px solid #F0F1F3;
    padding-top: 14px;
}
.login-crew-footer a { color: #1A73E8; font-size: 11px; }

/* ==========================================================
   ADMIN PANEL: ayrı, sol menülü kontrol paneli teması
   ========================================================== */
body.admin-panel {
    background: #0D1117;
    background-image: none;
    color: #C9D1D9;
    margin: 0;
}
.admin-shell {
    display: flex;
    min-height: 100vh;
    align-items: stretch;
}
.admin-sidebar {
    width: 230px;
    flex-shrink: 0;
    background: #10151C;
    border-right: 1px solid #21262D;
    display: flex;
    flex-direction: column;
    padding: 20px 0;
    position: sticky;
    top: 0;
    height: 100vh;
}
.admin-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 20px 22px;
    margin-bottom: 10px;
    border-bottom: 1px solid #21262D;
    text-decoration: none !important;
}
.admin-sidebar-brand img { height: 26px; width: auto; }
.admin-sidebar-brand span {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #E85D4E;
    text-transform: uppercase;
}
.admin-nav { flex: 1; padding: 10px 0; }
.admin-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    margin: 0;
    font-family: var(--mono);
    font-size: 13px;
    color: #8B949E;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: all 0.15s ease;
}
.admin-nav a:hover { color: #E6EDF3; background: #161B22; }
.admin-nav a.active {
    color: #E85D4E;
    background: #161B22;
    border-left-color: #E85D4E;
    font-weight: 600;
}
.admin-nav-icon { font-size: 15px; width: 18px; text-align: center; }
.admin-sidebar-footer {
    padding: 14px 20px 0;
    border-top: 1px solid #21262D;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.admin-sidebar-footer a {
    font-family: var(--mono);
    font-size: 12px;
    color: #6E7681;
    text-decoration: none !important;
}
.admin-sidebar-footer a:hover { color: #E6EDF3; }
.admin-main {
    flex: 1;
    padding: 34px 40px;
    min-width: 0;
}
.admin-topbar {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 26px;
}
.admin-topbar h1 {
    font-family: var(--mono);
    font-size: 20px;
    font-weight: 700;
    color: #E6EDF3;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 4px;
}
.admin-topbar-sub {
    font-family: var(--sans);
    font-size: 13px;
    color: #6E7681;
}
.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 16px;
}
.admin-form-grid > div { display: flex; flex-direction: column; }
@media (max-width: 700px) {
    .admin-form-grid { grid-template-columns: 1fr; }
}
body.admin-panel .card {
    background: #161B22;
    border: 1px solid #21262D;
    border-radius: 6px;
}
body.admin-panel .card h3 {
    color: #E6EDF3;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
body.admin-panel th {
    color: #6E7681;
    border-bottom-color: #21262D;
}
body.admin-panel td {
    color: #C9D1D9;
    border-bottom-color: #21262D;
}
body.admin-panel tr:hover td { background: #1C232C; }
body.admin-panel input,
body.admin-panel select,
body.admin-panel textarea {
    background: #0D1117;
    border-color: #30363D;
    color: #E6EDF3;
}
body.admin-panel input:focus,
body.admin-panel select:focus,
body.admin-panel textarea:focus { border-color: #E85D4E; }
body.admin-panel label { color: #6E7681; }
body.admin-panel button { border-color: #E85D4E; color: #E85D4E; }
body.admin-panel button:hover { background: #E85D4E; color: #fff; }
body.admin-panel a { color: #58A6FF; }
body.admin-panel .badge.approved { background: rgba(63,185,80,0.15); color: #3FB950; }
body.admin-panel .badge.pending { background: rgba(232,93,78,0.15); color: #E85D4E; }
body.admin-panel .badge.rejected { background: rgba(248,81,73,0.15); color: #F85149; }
body.admin-panel .badge.active { background: rgba(88,166,255,0.15); color: #58A6FF; }
@media (max-width: 900px) {
    .admin-shell { flex-direction: column; }
    .admin-sidebar { width: 100%; height: auto; position: relative; flex-direction: row; overflow-x: auto; padding: 10px; }
    .admin-sidebar-brand { border-bottom: none; padding: 0 12px; margin: 0; }
    .admin-nav { display: flex; padding: 0; }
    .admin-nav a { border-left: none; border-bottom: 3px solid transparent; white-space: nowrap; }
    .admin-nav a.active { border-left-color: transparent; border-bottom-color: #E85D4E; }
    .admin-sidebar-footer { flex-direction: row; border-top: none; padding: 0 12px; }
    .admin-main { padding: 20px; }
}
