/* Recall — arayüz stilleri (CON4CUS paleti: mavi ana + turuncu vurgu) */
:root {
    --mavi:        #2f9fe0;
    --mavi-koyu:   #1c7fb8;
    --turuncu:     #f7941e;
    --lacivert:    #16324a;
    --zemin:       #f2f6f9;
    --kart:        #ffffff;
    --metin:       #1e2a35;
    --metin-soluk: #647687;
    --cizgi:       #dde6ee;
    --yesil:       #2fa36b;
    --kirmizi:     #d9534f;
    --sari:        #e6a817;
    --radius:      10px;
    --golge:       0 2px 10px rgba(22, 50, 74, .07);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }   /* hidden özniteliği her CSS kuralını ezer */
body {
    font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: var(--zemin);
    color: var(--metin);
    min-height: 100vh;
}
a { color: var(--mavi-koyu); text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* ── Düğmeler ─────────────────────────────── */
.dugme {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 16px; border: 1px solid var(--cizgi); border-radius: var(--radius);
    background: var(--kart); color: var(--metin); font-weight: 600; font-size: .92rem;
    transition: background .15s, transform .05s;
}
.dugme:hover { background: #eef4f9; }
.dugme:active { transform: scale(.98); }
.dugme:disabled { opacity: .5; cursor: not-allowed; }
.dugme-birincil { background: var(--mavi); border-color: var(--mavi); color: #fff; }
.dugme-birincil:hover { background: var(--mavi-koyu); }

/* ── Giriş ekranı ─────────────────────────── */
.giris-sayfasi {
    display: flex; align-items: center; justify-content: center;
    min-height: 100vh; padding: 20px;
    background: linear-gradient(160deg, var(--lacivert) 0%, #1c4668 55%, var(--mavi-koyu) 100%);
}
.giris-kart {
    background: var(--kart); border-radius: 18px; box-shadow: 0 10px 40px rgba(0,0,0,.25);
    padding: 42px 38px; max-width: 420px; width: 100%; text-align: center;
}
.giris-logo { width: 150px; margin-bottom: 6px; }
.giris-logo-kucuk { width: 90px; }
.giris-kart h1 { font-size: 1.9rem; color: var(--lacivert); letter-spacing: .5px; }
.giris-kart h2 { font-size: 1.3rem; color: var(--lacivert); margin-bottom: 8px; }
.giris-aciklama { color: var(--metin-soluk); margin: 12px 0 24px; line-height: 1.55; }
.giris-dugme { width: 100%; justify-content: center; padding: 12px; font-size: 1rem; }
.giris-dipnot { margin-top: 18px; font-size: .8rem; color: var(--metin-soluk); }

.uyari { padding: 10px 14px; border-radius: var(--radius); font-size: .88rem; margin-bottom: 16px; text-align: left; }
.uyari-hata  { background: #fdeceb; color: #a33835; border: 1px solid #f5c9c7; }
.uyari-bilgi { background: #e8f4fc; color: #1c6ea0; border: 1px solid #c8e4f5; }

/* ── Üst çubuk ────────────────────────────── */
.ust-cubuk {
    display: flex; align-items: center; gap: 16px;
    background: var(--kart); border-bottom: 1px solid var(--cizgi);
    padding: 10px 22px; position: sticky; top: 0; z-index: 50;
}
.marka { display: flex; align-items: center; gap: 10px; }
.marka-logo { width: 34px; height: 34px; object-fit: contain; }
.marka-ad { font-weight: 800; font-size: 1.15rem; color: var(--lacivert); letter-spacing: .4px; }
.ust-bosluk { flex: 1; }

/* Kota rozetleri */
.kota-rozetleri { display: flex; gap: 14px; }
.kota-kutu { display: flex; align-items: center; gap: 8px; font-size: .78rem; color: var(--metin-soluk); }
.kota-etiket { font-weight: 700; text-transform: uppercase; font-size: .68rem; letter-spacing: .4px; }
.kota-cubuk { width: 90px; height: 8px; border-radius: 4px; background: var(--cizgi); overflow: hidden; }
.kota-dolu { height: 100%; width: 0; background: var(--mavi); border-radius: 4px; transition: width .4s; }
.kota-dolu.kota-sari { background: var(--sari); }
.kota-dolu.kota-kirmizi { background: var(--kirmizi); }
.kota-deger { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Kullanıcı menüsü */
.kullanici-menu { position: relative; }
.kullanici-dugme { background: none; border: none; }
.avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--turuncu); color: #fff; font-weight: 700; font-size: 1rem;
}
.menu-acilir {
    position: absolute; right: 0; top: 48px; min-width: 230px;
    background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--radius);
    box-shadow: var(--golge); overflow: hidden;
}
.menu-baslik { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-bottom: 1px solid var(--cizgi); }
.menu-baslik small { color: var(--metin-soluk); font-size: .78rem; }
.rol-rozet { margin-top: 4px; font-weight: 700; }
.rol-admin { color: var(--turuncu); }
.rol-kullanici { color: var(--mavi-koyu); }
.rol-izleyici { color: var(--metin-soluk); }
.menu-oge { display: block; padding: 11px 16px; color: var(--metin); font-size: .92rem; }
.menu-oge:hover { background: var(--zemin); }

/* ── Gövde ────────────────────────────────── */
.govde { max-width: 980px; margin: 26px auto; padding: 0 20px; }

.sekmeler { display: flex; gap: 6px; border-bottom: 2px solid var(--cizgi); margin-bottom: 16px; }
.sekme {
    padding: 10px 18px; border: none; background: none; font-weight: 600;
    color: var(--metin-soluk); border-bottom: 3px solid transparent; margin-bottom: -2px;
    font-size: .95rem;
}
.sekme:hover { color: var(--metin); }
.sekme.aktif { color: var(--mavi-koyu); border-bottom-color: var(--mavi); }

.arac-cubugu { display: flex; gap: 10px; margin-bottom: 14px; }
.arama-kutusu {
    flex: 1; max-width: 340px; padding: 9px 14px;
    border: 1px solid var(--cizgi); border-radius: var(--radius);
    font-size: .92rem; background: var(--kart);
}
.arama-kutusu:focus { outline: 2px solid var(--mavi); border-color: transparent; }

/* Kayıt listesi */
.liste-alani { display: flex; flex-direction: column; gap: 10px; }
.kayit-satir {
    display: flex; align-items: center; gap: 14px;
    background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--radius);
    padding: 14px 18px; color: var(--metin); box-shadow: var(--golge);
    transition: border-color .15s, transform .08s;
}
.kayit-satir:hover { border-color: var(--mavi); transform: translateY(-1px); }
.kayit-bilgi { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.kayit-baslik { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kayit-alt { font-size: .8rem; color: var(--metin-soluk); }
.paylasim-ikon { font-size: .95rem; min-width: 44px; text-align: right; color: var(--metin-soluk); }

.rozet {
    padding: 4px 10px; border-radius: 20px; font-size: .74rem; font-weight: 700; white-space: nowrap;
}
.rozet-mavi    { background: #e3f1fb; color: var(--mavi-koyu); }
.rozet-yesil   { background: #e5f5ec; color: var(--yesil); }
.rozet-kirmizi { background: #fdeceb; color: var(--kirmizi); }
.rozet-gri     { background: var(--cizgi); color: var(--metin-soluk); }

.bos-durum {
    text-align: center; color: var(--metin-soluk); padding: 60px 20px;
    background: var(--kart); border: 1px dashed var(--cizgi); border-radius: var(--radius);
}

/* ── Modallar ─────────────────────────────── */
.modal-arka {
    position: fixed; inset: 0; z-index: 100;
    background: rgba(22, 50, 74, .45);
    display: flex; align-items: flex-start; justify-content: center;
    padding: 60px 16px 16px; overflow-y: auto;
}
.modal {
    background: var(--kart); border-radius: 14px; box-shadow: 0 12px 40px rgba(0,0,0,.25);
    width: 100%; max-width: 560px; padding: 22px;
}
.modal-baslik { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.modal-baslik h3 { color: var(--lacivert); }
.modal-kapat {
    border: none; background: none; font-size: 1.5rem; line-height: 1;
    color: var(--metin-soluk); padding: 4px 8px; border-radius: 6px;
}
.modal-kapat:hover { background: var(--zemin); }
.modal-alt { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

.form-satir { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.form-satir label { font-size: .82rem; font-weight: 700; color: var(--metin-soluk); }
.form-satir input[type="text"], .form-satir input[type="password"] {
    padding: 10px 12px; border: 1px solid var(--cizgi); border-radius: var(--radius); font-size: .95rem;
}
.form-satir input:focus { outline: 2px solid var(--mavi); border-color: transparent; }
.soluk { color: var(--metin-soluk); font-size: .84rem; }

.dugme-tehlike { color: var(--kirmizi); border-color: #f0c9c8; }
.dugme-tehlike:hover { background: #fdeceb; }

/* Dosya seçme alanı */
.dosya-alan {
    display: flex; align-items: center; justify-content: center; text-align: center;
    border: 2px dashed var(--cizgi); border-radius: var(--radius);
    padding: 38px 20px; color: var(--metin-soluk); cursor: pointer; transition: .15s;
}
.dosya-alan:hover, .dosya-alan.surukleme { border-color: var(--mavi); background: #f2f9fe; }
.dosya-kart {
    border: 1px solid var(--cizgi); border-radius: var(--radius);
    padding: 14px 16px; margin-top: 4px;
}
.dosya-kart-bilgi { display: flex; flex-direction: column; gap: 3px; margin-bottom: 8px; }
.dosya-kontrol .uyari { margin: 8px 0 0; }

/* Sihirbaz aşamaları */
.asama-listesi { list-style: none; display: flex; flex-direction: column; gap: 18px; padding: 6px 0; }
.asama { display: grid; grid-template-columns: 160px 1fr auto; align-items: center; gap: 12px; }
.asama-ad { font-size: .88rem; font-weight: 600; }
.asama-cubuk { height: 10px; border-radius: 5px; background: var(--cizgi); overflow: hidden; }
.asama-dolu { height: 100%; width: 0; background: var(--mavi); border-radius: 5px; transition: width .3s; }
.asama-durum { font-size: .78rem; color: var(--metin-soluk); min-width: 70px; text-align: right; }
.asama-sonsuz-aktif {
    background: repeating-linear-gradient(45deg, var(--mavi), var(--mavi) 10px, #7cc4ec 10px, #7cc4ec 20px);
    animation: kaydir 1s linear infinite;
    background-size: 28px 28px;
}
@keyframes kaydir { to { background-position: 28px 0; } }

/* ── Kayıt detayı ─────────────────────────── */
.detay-panel { max-width: 980px; margin: 26px auto; padding: 0 20px; }
.detay-baslik { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.detay-baslik h2 { color: var(--lacivert); font-size: 1.3rem; }
.detay-meta { margin: 10px 0 18px; }
.transkript-govde { display: flex; flex-direction: column; gap: 14px; }
.transkript-blok {
    background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--radius);
    padding: 12px 16px; box-shadow: var(--golge);
}
.blok-baslik { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.blok-nokta { width: 10px; height: 10px; border-radius: 50%; }
.blok-konusmaci { font-weight: 700; font-size: .88rem; }
.blok-zaman { font-size: .76rem; color: var(--metin-soluk); font-variant-numeric: tabular-nums; }
.blok-metin { line-height: 1.6; font-size: .95rem; white-space: pre-wrap; }

/* ── Mobil ────────────────────────────────── */
@media (max-width: 720px) {
    .ust-cubuk { flex-wrap: wrap; gap: 10px; padding: 10px 14px; }
    .kota-rozetleri { order: 5; width: 100%; justify-content: space-between; }
    .kota-cubuk { width: 60px; }
    .marka-ad { font-size: 1rem; }
    .govde { margin-top: 16px; }
}
