/* ================================================================
   OPERASYON MERKEZİ v3 - RESMİ / ULUSAL AFET İZLEME KURUMSAL TEMASI
   T.C. Kamu / Resmi Durum Odası (Operation Command Room) Estetiği
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
    /* Resmi / Kurumsal Palet */
    --color-bg-base: #06090e;
    --color-bg-surface: #0a0f18;
    --color-bg-card: #0e1522;
    --color-bg-card-hover: #131c2d;
    --color-border: #1a2436;
    --color-border-subtle: rgba(255, 255, 255, 0.06);
    --color-accent-gold: #c59b27;
    --color-accent-amber: #e59500;
    --color-danger-crimson: #d9383a;
    --color-safe-emerald: #10b981;
    --color-info-cyan: #0284c7;

    /* Logo Değişkenleri */
    --brand-logo-image: none;
    --brand-logo-width: 34px;
    --brand-logo-height: 34px;
}

body {
    background-color: var(--color-bg-base);
    color: #e2e8f0;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.01em;
}

/* 1. Üst Kurumsal Kırmızı-Beyaz Resmi Şerit (TC Kurumsal Bayrak Vurgusu) */
.gov-top-band {
    height: 3px;
    background: linear-gradient(90deg, #e11d48 0%, #b91c1c 40%, #c59b27 70%, #0284c7 100%);
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
}

/* 2. Hassas Izgara Arka Planı (Command Center Grid) */
.command-grid-bg {
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 32px 32px;
}

/* 3. Kart ve Panel Tasarımı (Keskin 1px Border + Kurumsal Gölge) */
.gov-card {
    background-color: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gov-card:hover {
    border-color: rgba(197, 155, 39, 0.35);
    box-shadow: 0 6px 24px -2px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

/* 4. Kurumsal Başlık Rozetleri */
.gov-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}

.gov-badge-danger {
    color: #f87171;
    border-color: rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.08);
}

.gov-badge-warning {
    color: #fbbf24;
    border-color: rgba(245, 158, 11, 0.3);
    background: rgba(245, 158, 11, 0.08);
}

.gov-badge-safe {
    color: #34d399;
    border-color: rgba(16, 185, 129, 0.3);
    background: rgba(16, 185, 129, 0.08);
}

/* 5. Resmi Tablo Stili */
.gov-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.gov-table thead th {
    background-color: #070b12;
    color: #94a3b8;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 12px 18px;
    border-bottom: 1px solid var(--color-border);
}

.gov-table tbody td {
    padding: 13px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.gov-table tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.02);
}

/* 6. Radar / Nabız Işığı (Command Room Live Beacon) */
.gov-beacon {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10b981;
}

.gov-beacon::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 1px solid #10b981;
    animation: beacon-pulse 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes beacon-pulse {
    0% { transform: scale(1); opacity: 0.9; }
    100% { transform: scale(2.4); opacity: 0; }
}

/* 7. Özel Scrollbar */
.custom-scroll::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
.custom-scroll::-webkit-scrollbar-track {
    background: #080c14;
}
.custom-scroll::-webkit-scrollbar-thumb {
    background: #1b2434;
    border-radius: 2px;
}
.custom-scroll::-webkit-scrollbar-thumb:hover {
    background: #2b3952;
}

/* 8. Harita Popup Özelleştirme */
.leaflet-popup-content-wrapper {
    background: #0d1420 !important;
    color: #f1f5f9 !important;
    border: 1px solid #202c42 !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.6) !important;
}
.leaflet-popup-tip {
    background: #0d1420 !important;
}

/* 9. CSS Üzerinden Logo Yönetimi */
.brand-logo {
    width: var(--brand-logo-width);
    height: var(--brand-logo-height);
    background-image: var(--brand-logo-image);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: relative;
}

.brand-logo.custom-logo,
.brand-logo[data-has-logo="true"] {
    background: transparent var(--brand-logo-image) no-repeat center center / contain !important;
}

.brand-logo.custom-logo .brand-logo-text,
.brand-logo[data-has-logo="true"] .brand-logo-text {
    display: none !important;
}

/* Kamu portalı görünümü: açık zemin, koyu mavi gezinme ve ölçülü kırmızı vurgu. */
:root {
    --color-bg-base: #f2f5f8;
    --color-bg-surface: #ffffff;
    --color-bg-card: #ffffff;
    --color-bg-card-hover: #f8fafc;
    --color-border: #d7e0e8;
    --color-border-subtle: #e8edf2;
    --color-accent-gold: #1d4f7a;
    --color-accent-amber: #1d4f7a;
    --color-danger-crimson: #b4232f;
    --color-safe-emerald: #18804b;
    --color-info-cyan: #1d4f7a;
}

html, body { background: #f2f5f8 !important; color: #25364a !important; }
body { font-family: Arial, "Segoe UI", sans-serif; letter-spacing: 0; }
body > div.fixed { display: none; }
body > header { background: #fff !important; border-bottom: 3px solid #b4232f !important; box-shadow: 0 2px 8px rgba(18, 45, 70, .08); }
body > header a[href="/"] span:first-child { color: #183a59 !important; }
.brand-logo { border-radius: 5px !important; background: #1d4f7a !important; box-shadow: none !important; }
aside { background: #fff !important; border-color: #d7e0e8 !important; box-shadow: 2px 0 8px rgba(18, 45, 70, .04); }
main { color: #25364a; }
.bg-navy-950, .bg-navy-950\/80, .bg-navy-950\/95, .bg-navy-950\/60 { background-color: #fff !important; }
.bg-navy-900, .bg-navy-900\/60 { background-color: #f5f8fb !important; }
.bg-navy-850, .bg-navy-800 { background-color: #fff !important; }
.bg-navy-700 { background-color: #e2e8ef !important; }
.border-navy-700, .border-navy-700\/60, .border-slate-700, .border-slate-800 { border-color: #d7e0e8 !important; }
.text-white, .text-slate-100, .text-slate-200, .text-slate-300 { color: #23384d !important; }
.text-slate-400, .text-slate-500 { color: #5e7184 !important; }
.text-amber-400, .text-amber-500, .text-teal-400 { color: #1d4f7a !important; }
.text-black { color: #fff !important; }
.bg-amber-500, .bg-teal-500 { background-color: #1d4f7a !important; color: #fff !important; }
.bg-amber-500\/10, .bg-amber-500\/20, .bg-teal-500\/10 { background-color: #e8f0f7 !important; }
.border-amber-500, .border-amber-500\/30, .border-amber-500\/40 { border-color: #9eb6ca !important; }
.hover\:bg-navy-850:hover, .hover\:bg-navy-800:hover, .hover\:bg-navy-700:hover { background-color: #edf3f8 !important; }
.shadow-xl, .shadow-lg, .shadow-md { box-shadow: 0 2px 10px rgba(18, 45, 70, .06) !important; }
input, textarea, select { color: #23384d !important; }
input::placeholder, textarea::placeholder { color: #8291a0 !important; }
.leaflet-popup-content-wrapper { background: #fff !important; color: #23384d !important; border-color: #d7e0e8 !important; box-shadow: 0 8px 24px rgba(18,45,70,.18) !important; }
.leaflet-popup-tip { background: #fff !important; }

.gov-panel, .gov-card { background: #fff; border: 1px solid #d7e0e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(18,45,70,.045); }
.gov-panel:hover, .gov-card:hover { border-color: #a8bacb; box-shadow: 0 5px 16px rgba(18,45,70,.08); }
.gov-kicker { color: #1d4f7a; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gov-page-heading { margin: 0 0 28px; padding: 0 0 20px; border-bottom: 1px solid #d7e0e8; }
.gov-page-heading h1 { color: #193b59; font-size: clamp(28px, 4vw, 38px); font-weight: 700; margin-top: 6px; }
.gov-page-heading p { color: #5e7184; font-size: 15px; margin-top: 8px; }
.gov-link { color: #1d4f7a; font-weight: 700; text-decoration: none; }
.gov-link:hover { color: #b4232f; text-decoration: underline; }
.gov-label { display: block; color: #344b60; font-size: 13px; font-weight: 700; }
.gov-input { display: block; width: 100%; margin-top: 6px; padding: 11px 12px; border: 1px solid #c7d2dd; border-radius: 5px; background: #fff; color: #23384d; font-size: 14px; }
.gov-input:focus { outline: 3px solid rgba(29,79,122,.16); border-color: #1d4f7a; }
.gov-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #1d4f7a; border-radius: 5px; background: #1d4f7a; color: #fff !important; font-weight: 700; padding: 10px 16px; text-decoration: none; cursor: pointer; }
.gov-button:hover { background: #163e62; }
.gov-button-secondary { background: #fff; color: #1d4f7a !important; }
.gov-button-secondary:hover { background: #edf3f8; }
.gov-alert { padding: 12px 15px; margin: 12px 0; border: 1px solid; border-radius: 5px; font-size: 14px; }
.gov-alert-success { color: #176b41; background: #edf8f1; border-color: #b7dec5; }
.gov-alert-error { color: #9c1d29; background: #fff1f1; border-color: #efc2c5; }
.gov-category-card { display: block; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.gov-category-card:hover { transform: translateY(-2px); }
.gov-category-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #e8f0f7; color: #1d4f7a; font-weight: 800; }
.gov-news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.gov-news-card { overflow: hidden; border: 1px solid #d7e0e8; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(18,45,70,.045); }
.gov-news-card > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #e8edf2; }
.gov-news-copy { padding: 18px; }
.gov-news-copy h2 { color: #193b59; font-size: 19px; line-height: 1.35; font-weight: 700; margin: 8px 0; }
.gov-news-copy p { color: #465b6f; font-size: 14px; line-height: 1.75; white-space: pre-wrap; }
.gov-timeline { position: relative; max-width: 900px; }
.gov-timeline-item { display: grid; grid-template-columns: 105px 1fr; gap: 18px; margin-bottom: 18px; }
.gov-timeline-date { padding-top: 18px; color: #1d4f7a; font-size: 13px; font-weight: 700; }
.theme-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 10px; border: 1px solid #cbd6e0; border-radius: 5px; background: #fff; color: #244965; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s, border-color .2s; }
.theme-toggle:hover { background: #edf3f8; border-color: #1d4f7a; transform: translateY(-1px); }
.theme-icon { font-size: 16px; line-height: 1; }
.gov-panel, .gov-category-card, .gov-news-card, .gov-button, .theme-toggle { transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease; }
.gov-category-card:hover, .gov-news-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(18,45,70,.12); }
main > div { animation: none; }
@keyframes portal-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

html[data-theme="dark"], html[data-theme="dark"] body { background: #101923 !important; color: #e5edf4 !important; }
html[data-theme="dark"] body > header { background: #182736 !important; border-bottom-color: #b4232f !important; }
html[data-theme="dark"] aside { background: #182736 !important; border-color: #304254 !important; }
html[data-theme="dark"] .bg-navy-950, html[data-theme="dark"] .bg-navy-950\/80, html[data-theme="dark"] .bg-navy-950\/95, html[data-theme="dark"] .bg-navy-950\/60 { background-color: #182736 !important; }
html[data-theme="dark"] .bg-navy-900, html[data-theme="dark"] .bg-navy-900\/60 { background-color: #111c27 !important; }
html[data-theme="dark"] .bg-navy-850, html[data-theme="dark"] .bg-navy-800 { background-color: #1e2e3d !important; }
html[data-theme="dark"] .bg-navy-700 { background-color: #304254 !important; }
html[data-theme="dark"] .border-navy-700, html[data-theme="dark"] .border-navy-700\/60, html[data-theme="dark"] .border-slate-700, html[data-theme="dark"] .border-slate-800 { border-color: #35495b !important; }
html[data-theme="dark"] .text-white, html[data-theme="dark"] .text-slate-100, html[data-theme="dark"] .text-slate-200, html[data-theme="dark"] .text-slate-300 { color: #e5edf4 !important; }
html[data-theme="dark"] .text-slate-400, html[data-theme="dark"] .text-slate-500 { color: #a9bac9 !important; }
html[data-theme="dark"] .text-amber-400, html[data-theme="dark"] .text-amber-500, html[data-theme="dark"] .text-teal-400 { color: #9ec2df !important; }
html[data-theme="dark"] input, html[data-theme="dark"] textarea, html[data-theme="dark"] select { color: #e5edf4 !important; }
html[data-theme="dark"] .gov-panel, html[data-theme="dark"] .gov-card, html[data-theme="dark"] .gov-news-card { background: #1e2e3d; border-color: #35495b; }
html[data-theme="dark"] .gov-page-heading { border-color: #35495b; }
html[data-theme="dark"] .gov-page-heading h1, html[data-theme="dark"] .gov-news-copy h2 { color: #e6f0f7; }
html[data-theme="dark"] .gov-page-heading p, html[data-theme="dark"] .gov-news-copy p { color: #bdcbd7; }
html[data-theme="dark"] .gov-kicker, html[data-theme="dark"] .gov-link, html[data-theme="dark"] .gov-timeline-date { color: #9ec2df; }
html[data-theme="dark"] .gov-input { background: #111c27; color: #e5edf4; border-color: #465c70; }
html[data-theme="dark"] .theme-toggle { background: #1e2e3d; color: #e5edf4; border-color: #465c70; }
html[data-theme="dark"] .leaflet-popup-content-wrapper, html[data-theme="dark"] .leaflet-popup-tip { background: #1e2e3d !important; color: #e5edf4 !important; border-color: #35495b !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
@media (max-width: 640px) { .gov-timeline-item { grid-template-columns: 1fr; gap: 6px; } .gov-timeline-date { padding-top: 0; } }
@media (max-width: 1023px) { body { padding-bottom: 66px; } }

/* Compact, legible operation status badges and a proper sidebar personnel portrait. */
.report-status { display: inline-flex !important; align-items: center; justify-content: center; width: max-content !important; max-width: 100%; min-height: 28px; height: auto !important; padding: 5px 10px !important; border: 1px solid #e4cf91; border-radius: 9999px; background: #fff7df; color: #72540b !important; font-size: 12px !important; font-weight: 700; line-height: 1.2; white-space: nowrap; flex: 0 0 auto; }
.report-status-complete { border-color: #b6d8c2; background: #eef8f1; color: #216541 !important; }
.sidebar-profile-card { min-height: 66px; text-decoration: none; }
.sidebar-profile-photo { background: #e5edf4; }
html[data-theme="dark"] .report-status { border-color: #66572d; background: #342d1a; color: #f2d986 !important; }
html[data-theme="dark"] .report-status-complete { border-color: #28543a; background: #172d21; color: #a6dfb8 !important; }
html[data-theme="dark"] .sidebar-profile-photo { background: #d9e3ec; }
.sidebar-profile-initials[hidden] { display: none !important; }
.gov-location-option { display:block; width:100%; padding:10px 12px; border:1px solid #d7e0e8; border-radius:6px; background:#fff; color:#344b60; text-align:left; font-size:13px; line-height:1.45; cursor:pointer; }
.gov-location-option:hover, .gov-location-option:focus-visible { border-color:#1d4f7a; background:#f2f7fb; outline:2px solid rgba(29,79,122,.12); }
html[data-theme="dark"] .gov-location-option { border-color:#35495b; background:#1e2e3d; color:#e5edf4; }
html[data-theme="dark"] .gov-location-option:hover, html[data-theme="dark"] .gov-location-option:focus-visible { background:#263b4d; border-color:#9ec2df; }


/* Polished motion system: quiet, purposeful feedback across the portal. */
:root { --motion-ease: cubic-bezier(.22,.75,.25,1); }
html { scroll-behavior: smooth; }
.gov-top-band { background-size: 220% 100%; animation: band-flow 9s ease-in-out infinite alternate; }
@keyframes band-flow { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
.motion-reveal { opacity: 0; transform: translate3d(0, 18px, 0) scale(.99); transition: opacity .55s var(--motion-ease), transform .65s var(--motion-ease); transition-delay: var(--motion-delay, 0ms); will-change: opacity, transform; }
.motion-reveal.motion-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.gov-panel, .gov-card, .gov-news-card, .gov-category-card, article { transform-origin: center bottom; transition: transform .28s var(--motion-ease), box-shadow .28s ease, border-color .25s ease, background-color .25s ease; }
.gov-panel:hover, .gov-card:hover, article:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(20,55,85,.12); }
.gov-news-card:hover, .gov-category-card:hover { transform: translateY(-5px) scale(1.008); }
button, .gov-button, .theme-toggle, a[role="button"] { position: relative; overflow: hidden; transition: transform .18s var(--motion-ease), box-shadow .22s ease, filter .2s ease; }
button:hover, .gov-button:hover, .theme-toggle:hover, a[role="button"]:hover { filter: brightness(1.06); box-shadow: 0 7px 18px rgba(25,65,100,.14); }
button:active, .gov-button:active, .theme-toggle:active, .is-pressed { transform: scale(.97) !important; }
input, textarea, select { transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 4px rgba(29,79,122,.11); }
aside nav a, .mobile-bottom-nav a { transition: transform .2s var(--motion-ease), color .2s ease, background-color .2s ease; }
aside nav a:hover { transform: translateX(4px); }
.sidebar-profile-photo { transition: transform .3s var(--motion-ease), box-shadow .3s ease; }
.sidebar-profile-card:hover .sidebar-profile-photo { transform: scale(1.08) rotate(-3deg); box-shadow: 0 0 0 3px rgba(197,155,39,.22); }
.theme-icon { display: inline-block; animation: icon-arrive .35s var(--motion-ease); }
@keyframes icon-arrive { from { opacity: 0; transform: rotate(-45deg) scale(.65); } to { opacity: 1; transform: rotate(0) scale(1); } }
.button-spinner { display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spinner-turn .7s linear infinite; }
@keyframes spinner-turn { to { transform: rotate(360deg); } }
.is-loading { cursor: wait; }
.report-status:not(.report-status-complete) { animation: status-breathe 3s ease-in-out infinite; }
@keyframes status-breathe { 50% { box-shadow: 0 0 0 4px rgba(229,149,0,.08); } }
html[data-theme="dark"] .gov-panel:hover, html[data-theme="dark"] .gov-card:hover, html[data-theme="dark"] article:hover { box-shadow: 0 14px 32px rgba(0,0,0,.28); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .motion-reveal, .motion-reveal.motion-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
  .gov-top-band, .report-status:not(.report-status-complete) { animation: none !important; }
}
