/* VatanMillet — ortak tasarım sistemi. Portal'ın (index.html/hesap.html)
   marka kimliğiyle birebir aynı token'lar - tüm modül sayfaları burdan
   besleniyor, tek bir tutarlı görünüm için. Koyu, bilinçli tek tema
   (portal'da da açık mod yok - marka kimliği buna göre kurulu).
   Fontlar: sayfanın <head>'inde portal'daki AYNI Google Fonts <link>
   etiketiyle yükleniyor (bkz. her sayfanın basi) - burada tekrar
   tanımlanmiyor, tek kaynaktan (fonts.googleapis.com) geliyor. */

:root{
  --bg:#060608; --bg2:#0c0c0f; --bg3:#121215; --bg4:#18181c; --surface:#1a1a1f;
  --border:#1c1c22; --border2:#28282f; --border3:#35353d;
  --red:#c8000a; --red-bright:#e8102a; --red-glow:rgba(200,0,10,.4);
  --red-dim:rgba(200,0,10,.08); --red-line:rgba(200,0,10,.25); --red-soft:rgba(200,0,10,.15);
  --text:#a8a8b0; --text-secondary:#6e6e78; --muted:#505058; --white:#f0f0f2; --cream:#e6ddd0;
  --ok:#3fbf7a; --ok-soft:rgba(63,191,122,.12); --crit:#e8102a; --crit-soft:rgba(232,16,42,.12);
  --radius:8px; --radius-lg:12px; --transition:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.vm{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.vm ::selection{background:var(--red);color:#fff;}
.vm ::-webkit-scrollbar{width:6px;} .vm ::-webkit-scrollbar-track{background:var(--bg);}
.vm ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* ── Üst çubuk ── */
.vm-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 24px;background:rgba(6,6,8,.88);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);}
.vm-topbar .vm-logo{display:flex;align-items:center;gap:10px;text-decoration:none;
  font-family:'Playfair Display',serif;font-weight:700;font-size:17px;color:var(--white);letter-spacing:.02em;}
.vm-topbar .vm-logo b{color:var(--red);font-style:normal;}
.vm-geri{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-secondary);text-decoration:none;transition:color .2s var(--transition);}
.vm-geri:hover{color:var(--red-bright);}

/* ── Paylaşımlı üst bar (shared/vmsso.js) — 2026-08-25: her modül sayfası
   kendi statik başlığını çiziyordu, ortak vmsso.js YAZILMIŞTI ama hiçbir
   sayfa yüklemiyordu; asıl neden bu CSS'in hiç var olmamasıydı - bağlanan
   ilk sayfa tamamen biçimsiz görünürdü. vm-topbar/vm-logo/vm-geri zaten
   yukarıda var, burada vmsso.js'in dinamik ürettiği geri kalan parçalar. */
.vm-topbar .vm-left{display:flex;align-items:center;gap:12px;}
.vm-emblem{display:inline-flex;width:22px;height:22px;flex-shrink:0;}
.vm-emblem img{width:100%;height:100%;object-fit:contain;}
.vm-div{width:1px;height:16px;background:var(--border2);}
.vm-topbar .vm-app{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-secondary);
  font-size:13px;transition:color .2s var(--transition);}
.vm-topbar .vm-app:hover{color:var(--white);}
.vm-aic{font-size:15px;line-height:1;}
.vm-nav{display:flex;gap:4px;}
.vm-nav a{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--text-secondary);text-decoration:none;padding:7px 11px;border-radius:var(--radius);
  transition:.15s var(--transition);cursor:pointer;}
.vm-nav a:hover{color:var(--white);}
.vm-nav a.on{color:var(--white);background:var(--red-dim);}
.vm-right{display:flex;align-items:center;gap:10px;}
.vm-ara{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border2);
  border-radius:20px;padding:7px 13px;color:var(--text-secondary);}
.vm-ara input{background:none;border:none;color:var(--white);font-size:13px;outline:none;width:130px;
  font-family:inherit;}
.vm-user{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--border2);
  border-radius:20px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--text);}
.vm-user:hover{border-color:var(--border3);}
.vm-ava{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:11px;background-size:cover;background-position:center;flex-shrink:0;
  position:relative;}
.vm-nm{font-size:13px;color:var(--cream);}
.vm-car{font-size:9px;color:var(--text-secondary);}
.vm-btn-sm{padding:8px 15px;font-size:12px;}
/* Okunmamis Selam rozeti (2026-08-27) - vm-user avatarindaki kucuk nokta +
   uygulama menusundeki "Selam" satirinin yanindaki sayi kutusu. */
.vm-rozet{position:absolute;top:-1px;right:-1px;width:9px;height:9px;border-radius:50%;
  background:var(--red-bright);border:1.5px solid var(--bg);}
.vm-sayi-rozet{margin-left:auto;background:var(--red-bright);color:#fff;font-size:10px;font-weight:700;
  border-radius:9px;padding:1px 6px;line-height:1.4;}

.vm-menu{position:fixed;top:60px;right:24px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--radius-lg);width:230px;box-shadow:0 16px 40px rgba(0,0,0,.6);overflow:hidden;
  z-index:99998;}
.vm-menu .vm-mh{padding:14px 16px;border-bottom:1px solid var(--border2);display:flex;align-items:center;gap:10px;}
.vm-menu .vm-mh .vm-ava{width:34px;height:34px;font-size:13px;}
.vm-menu .vm-mh .n{color:var(--white);font-weight:700;font-size:14px;}
.vm-menu .vm-mh .e{color:var(--text-secondary);font-size:11.5px;}
.vm-menu a{display:flex;gap:10px;align-items:center;padding:11px 16px;color:var(--cream);font-size:13.5px;
  text-decoration:none;cursor:pointer;}
.vm-menu a:hover{background:var(--red-dim);}
.vm-menu a.out{color:var(--red-bright);border-top:1px solid var(--border2);}
.vm-menu .em{width:16px;text-align:center;flex-shrink:0;}
.vm-menu .vm-sec{padding:10px 16px 4px;font-family:'JetBrains Mono',monospace;font-size:10px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.vm-menu .vm-applist{max-height:280px;overflow-y:auto;}
.vm-menu .vm-applist a.cur{color:var(--red-bright);}

.vm-gate{position:fixed;inset:0;top:60px;background:var(--bg);z-index:90;display:flex;align-items:center;
  justify-content:center;padding:24px;text-align:center;}
.vm-gate .ic{font-size:42px;margin-bottom:14px;}
.vm-gate h2{font-family:'Playfair Display',serif;color:var(--white);font-size:22px;margin:0 0 8px;}
.vm-gate p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 22px;max-width:38ch;}
@media(max-width:640px){.vm-nav,.vm-ara,.vm-nm{display:none;}}

/* ── Sayfa iskeleti ── */
.vm-main{max-width:960px;margin:0 auto;padding:36px 24px 90px;}
.vm-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--red);margin:0 0 6px;}
.vm-h1{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--white);
  letter-spacing:.01em;margin:0 0 6px;}
.vm-alt{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 28px;max-width:56ch;}
.vm-sh{display:flex;align-items:center;gap:10px;margin:28px 0 14px;}
.vm-sh::before{content:'';width:3px;height:15px;background:var(--red);border-radius:4px;flex-shrink:0;}
.vm-sh h2{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-secondary);font-weight:400;margin:0;}

/* ── Kart / grid ── */
.vm-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);
  padding:20px;transition:border-color .2s var(--transition);}
.vm-card:hover{border-color:var(--border3);}
.vm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.vm-empty{color:var(--muted);font-size:13.5px;text-align:center;padding:40px 0;grid-column:1/-1;}

/* ── Form öğeleri ── */
.vm-label{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px;}
.vm-input,.vm-select,.vm-textarea{width:100%;padding:11px 14px;background:var(--bg3);
  border:1px solid var(--border2);border-radius:var(--radius);color:var(--white);font-size:14.5px;
  font-family:inherit;transition:border-color .2s var(--transition);}
.vm-input:focus,.vm-select:focus,.vm-textarea:focus{outline:none;border-color:var(--red);}
.vm-field{margin-bottom:14px;}
.vm-row2{display:flex;gap:10px;} .vm-row2>*{flex:1;}

/* ── Butonlar ── */
.vm-btn{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;letter-spacing:.05em;
  padding:11px 20px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--red);
  transition:.15s var(--transition);text-decoration:none;display:inline-flex;align-items:center;
  justify-content:center;gap:6px;}
.vm-btn-primary{background:var(--red);color:#fff;}
.vm-btn-primary:hover{background:var(--red-bright);}
.vm-btn-ghost{background:transparent;color:var(--cream);}
.vm-btn-ghost:hover{background:var(--red-dim);}
.vm-btn-sec{background:var(--surface);color:var(--text);border-color:var(--border2);}
.vm-btn-sec:hover{border-color:var(--border3);color:var(--white);}
.vm-btn-block{width:100%;}
.vm-btn:disabled{opacity:.5;cursor:default;}

/* ── Rozet/durum ── */
.vm-pill{display:inline-flex;align-items:center;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  font-weight:600;letter-spacing:.05em;padding:3px 10px;border-radius:99px;text-transform:uppercase;}
.vm-pill-ok{background:var(--ok-soft);color:var(--ok);}
.vm-pill-crit{background:var(--crit-soft);color:var(--crit);}
.vm-pill-red{background:var(--red-soft);color:var(--red-bright);}

/* ── Mesaj/uyarı ── */
.vm-msg{font-size:13px;margin-top:10px;min-height:16px;}
.vm-msg-ok{color:var(--ok);} .vm-msg-err{color:var(--crit);}

/* ── Yardımcılar ── */
.vm-muted{color:var(--muted);}
.vm-mono{font-family:'JetBrains Mono',monospace;}

/* ── Karşılama tostu (uzun süredir gelmeyen kullanıcıya duygusal karşılama) ──
   Kalıcı bir banner değil: birkaç saniye görünür, kendiliğinden kaybolur. */
.vm-karsilama{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(16px);
  max-width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--red-line);
  border-radius:var(--radius-lg);padding:14px 18px;display:flex;align-items:center;gap:10px;
  font-size:13.5px;color:var(--cream);box-shadow:0 12px 32px rgba(0,0,0,.5);z-index:99999;
  opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);
  pointer-events:none;}
.vm-karsilama.on{opacity:1;transform:translateX(-50%) translateY(0);}
.vm-karsilama .em{font-size:19px;flex-shrink:0;}
