/* Ölçme 360 · Tasarım sistemi
   Görsel dil cmeep2026 kabuğundan türetilmiştir. */

:root {
    --lacivert: #2c3e50;
    --lacivert-2: #34495e;
    --lacivert-3: #243342;
    --zemin: #ecf0f1;
    --kart: #ffffff;
    --mavi: #2980b9;
    --mavi-acik: #3498db;
    --mavi-koyu: #1a5276;
    --mavi-zemin: #eaf2f8;
    --yesil: #27ae60;
    --yesil-koyu: #1e8449;
    --yesil-zemin: #e9f7ef;
    --kirmizi: #c0392b;
    --kirmizi-koyu: #a93226;
    --kirmizi-zemin: #fdedec;
    --turuncu: #d68910;
    --turuncu-zemin: #fef5e7;
    --gri: #7f8c8d;
    --gri-koyu: #626f70;
    --gri-acik: #bdc3c7;
    --cizgi: #dfe4e8;
    --cizgi-koyu: #cfd6db;
    --metin: #2c3e50;
    --metin-2: #5d6d7e;
    --metin-3: #8795a1;
    --zebra: #f9f9f9;
    --vurgu-zemin: #f4f7f9;

    --rol-yazar: #1f618d;
    --rol-koordinator: #b03a2e;
    --rol-olcme: #1e8449;
    --rol-admin: #7e5109;

    --yaricap: 10px;
    --yaricap-k: 6px;
    --golge: 0 4px 6px rgba(0, 0, 0, 0.1);
    --golge-hafif: 0 1px 3px rgba(0, 0, 0, 0.08);
    --golge-modal: 0 12px 32px rgba(0, 0, 0, 0.22);
    --yan-genislik: 250px;
    --font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --font-metin: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: var(--font);
    font-size: 15px;
    line-height: 1.5;
    color: var(--metin);
    background-color: var(--zemin);
}

h1, h2, h3, h4 { margin: 0; line-height: 1.3; color: var(--lacivert); }
p { margin: 0 0 10px; }
a { color: var(--mavi); text-decoration: none; }
a:hover { color: var(--mavi-koyu); }
img { max-width: 100%; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
.simge { flex-shrink: 0; vertical-align: middle; }
[hidden] { display: none !important; }

.gorsel-gizli {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* ---------------------------------------------------------------
   Kabuk: yan menü, üst şerit, içerik
   --------------------------------------------------------------- */

.yan-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--yan-genislik);
    background-color: var(--lacivert);
    background-image: linear-gradient(180deg, var(--lacivert-2) 0%, var(--lacivert) 38%, var(--lacivert-3) 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.18);
    border-right: 1px solid rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    z-index: 300;
}

.yan-menu-marka {
    flex: 0 0 auto;
    min-height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 18px;
    background: #fff;
    border-bottom: 1px solid var(--cizgi);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.yan-menu-marka img { display: block; height: 40px; width: auto; }
.marka-ayrac { width: 1px; height: 30px; background: var(--cizgi-koyu); }
.marka-urun { color: var(--lacivert); font-weight: 700; font-size: 15px; letter-spacing: 0.2px; white-space: nowrap; }
.yan-menu-marka:hover .marka-urun { color: var(--mavi-koyu); }
.ust-marka { display: none; align-items: center; gap: 8px; padding: 6px 10px; border-radius: var(--yaricap-k); background: #fff; }
.ust-marka img { display: block; height: 26px; width: auto; }
.ust-marka .marka-ayrac { height: 20px; }
.ust-marka .marka-urun { font-size: 13px; }
.yan-menu-bas {
    text-align: center;
    padding: 4px 20px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.marka {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.3px;
    opacity: 0.92;
}
.marka:hover { color: #fff; opacity: 1; }

.avatar {
    width: 76px;
    height: 76px;
    margin: 22px auto 12px;
    border-radius: 50%;
    background-color: cornflowerblue;
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
.avatar-koordinator { background-color: #a5493f; }
.avatar-olcme { background-color: #2e8b57; }
.avatar-admin { background-color: #8a6a32; }

.kullanici-adi { font-size: 17px; color: #fff; font-weight: 600; }
.kullanici-rol { font-size: 13px; color: #c8d3dc; margin-top: 2px; }

.menu {
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    flex: 1;
}

.menu-grup { display: flex; flex-direction: column; }

.menu-grup-dugme {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--yaricap-k);
    padding: 10px 12px;
    font-size: 14.5px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.menu-grup-dugme:hover { background: rgba(255, 255, 255, 0.16); }
.menu-ok { display: inline-flex; transition: transform 0.2s ease; opacity: 0.8; }
.menu-grup.acik > .menu-grup-dugme .menu-ok { transform: rotate(90deg); }

.menu-alt {
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 6px 0 4px 6px;
    margin-top: 2px;
}
.menu-grup.acik > .menu-alt { display: flex; }
.menu-basliksiz > .menu-alt { padding-left: 0; margin-top: 0; }

.menu-alt a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--yaricap-k);
    background: rgba(255, 255, 255, 0.05);
    color: #e6edf5;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.menu-alt a:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.22); color: #fff; }
.menu-alt a.aktif { background: var(--mavi); border-color: var(--mavi); color: #fff; }
.menu-alt a .simge { flex: 0 0 auto; }

.menu-cikis-form { margin: 14px 0 0; }
.menu-cikis {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--yaricap-k);
    color: #fff;
    background: rgba(200, 80, 80, 0.22);
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.menu-cikis:hover { background: rgba(200, 80, 80, 0.45); }

.yan-menu-alt {
    padding: 16px 20px 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    font-size: 12px;
    color: #aab7c4;
    text-align: center;
}

.ana {
    margin-left: var(--yan-genislik);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ust-serit {
    position: sticky;
    top: 0;
    z-index: 200;
    min-height: 75px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 30px;
    background: var(--lacivert);
    color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.menu-ac {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    border-radius: var(--yaricap-k);
    padding: 6px 8px;
    cursor: pointer;
}

.ust-baslik { flex: 1; min-width: 0; }
.ust-baslik h1 {
    color: #fff;
    font-size: clamp(17px, 2vw, 20px);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ekmek { font-size: 12.5px; color: #aed6f1; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 2px; }
.ekmek a { color: #aed6f1; }
.ekmek a:hover { color: #fff; }
.ekmek-ayrac { opacity: 0.6; }

.ust-sag { display: flex; align-items: center; gap: 10px; }

.bildirim-zili {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: background-color 0.2s ease;
}
.bildirim-zili:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }
.zil-sayac {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--kirmizi);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icerik { flex: 1; padding: 20px; min-width: 0; }

.alt-bilgi {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 24px;
    background: var(--lacivert);
    color: #c8d3dc;
    font-size: 13px;
}

/* ---------------------------------------------------------------
   Kartlar ve ızgaralar
   --------------------------------------------------------------- */

.kart {
    background: var(--kart);
    border-radius: var(--yaricap);
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: var(--golge);
    min-width: 0;
}

.kart-ust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.kart-baslik {
    font-size: 19px;
    font-weight: 700;
    color: var(--lacivert);
    display: flex;
    align-items: center;
    gap: 10px;
}

.kart-alt-baslik {
    font-size: 15px;
    font-weight: 700;
    color: var(--lacivert);
    margin: 18px 0 10px;
}

.kart-eylemler { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.kart-bolum { border-top: 1px solid var(--cizgi); margin-top: 18px; padding-top: 18px; }

.izgara { display: grid; gap: 20px; }
.izgara-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.izgara-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.izgara-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.izgara-ana-yan { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }

.satir { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.satir-arali { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.yigin { display: flex; flex-direction: column; gap: 12px; }
.bosluk-ust { margin-top: 16px; }
.bosluk-alt { margin-bottom: 16px; }
.esnek-1 { flex: 1; min-width: 0; }
.sag { text-align: right; }
.orta { text-align: center; }
.soluk { color: var(--metin-2); }
.cok-soluk { color: var(--metin-3); }
.kucuk { font-size: 13px; }
.kalin { font-weight: 600; }
.tek-satir { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sayi { font-variant-numeric: tabular-nums; }

.sayac-kartlari {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.sayac {
    background: var(--kart);
    border-radius: var(--yaricap);
    padding: 18px 20px;
    box-shadow: var(--golge);
    border-left: 4px solid var(--mavi);
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--metin);
}
a.sayac:hover { color: var(--metin); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12); }
.sayac-etiket { font-size: 13.5px; color: var(--metin-2); font-weight: 600; }
.sayac-deger { font-size: 30px; font-weight: 700; color: var(--lacivert); line-height: 1.1; font-variant-numeric: tabular-nums; }
.sayac-alt { font-size: 12.5px; color: var(--metin-3); }
.sayac-yesil { border-left-color: var(--yesil); }
.sayac-turuncu { border-left-color: var(--turuncu); }
.sayac-kirmizi { border-left-color: var(--kirmizi); }
.sayac-lacivert { border-left-color: var(--lacivert); }
.sayac-gri { border-left-color: var(--gri); }

/* ---------------------------------------------------------------
   Düğmeler
   --------------------------------------------------------------- */

.dugme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 16px;
    min-height: 38px;
    border: 1px solid transparent;
    border-radius: var(--yaricap-k);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    background: var(--vurgu-zemin);
    color: var(--lacivert);
    border-color: var(--cizgi-koyu);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.dugme:hover { background: #e7edf1; color: var(--lacivert); }
.dugme:focus-visible { outline: 2px solid var(--mavi-acik); outline-offset: 2px; }

.dugme-birincil { background: var(--mavi); border-color: var(--mavi); color: #fff; }
.dugme-birincil:hover { background: #2471a3; border-color: #2471a3; color: #fff; }
.dugme-koyu { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.dugme-koyu:hover { background: var(--lacivert-3); border-color: var(--lacivert-3); color: #fff; }
.dugme-basari { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.dugme-basari:hover { background: var(--yesil-koyu); border-color: var(--yesil-koyu); color: #fff; }
.dugme-tehlike { background: var(--kirmizi); border-color: var(--kirmizi); color: #fff; }
.dugme-tehlike:hover { background: var(--kirmizi-koyu); border-color: var(--kirmizi-koyu); color: #fff; }
.dugme-ikincil { background: var(--gri); border-color: var(--gri); color: #fff; }
.dugme-ikincil:hover { background: var(--gri-koyu); border-color: var(--gri-koyu); color: #fff; }
.dugme-cerceve { background: #fff; border-color: var(--cizgi-koyu); color: var(--lacivert); }
.dugme-cerceve:hover { background: var(--vurgu-zemin); }
.dugme-cerceve-tehlike { background: #fff; border-color: #e6b0aa; color: var(--kirmizi); }
.dugme-cerceve-tehlike:hover { background: var(--kirmizi-zemin); color: var(--kirmizi-koyu); }
.dugme-sade { background: transparent; border-color: transparent; color: var(--mavi); padding-left: 8px; padding-right: 8px; }
.dugme-sade:hover { background: var(--mavi-zemin); color: var(--mavi-koyu); }

.dugme-kucuk { padding: 5px 11px; min-height: 30px; font-size: 13px; }
.dugme-simge { padding: 6px; min-height: 32px; min-width: 32px; }
.dugme-tam { width: 100%; }

.dugme[disabled],
.dugme.pasif {
    background: var(--gri-acik) !important;
    border-color: var(--gri-acik) !important;
    color: #fff !important;
    cursor: not-allowed;
    opacity: 0.7;
    box-shadow: none;
}

.dugme-grubu { display: inline-flex; }
.dugme-grubu .dugme { border-radius: 0; }
.dugme-grubu .dugme + .dugme { margin-left: -1px; }
.dugme-grubu .dugme:first-child { border-radius: var(--yaricap-k) 0 0 var(--yaricap-k); }
.dugme-grubu .dugme:last-child { border-radius: 0 var(--yaricap-k) var(--yaricap-k) 0; }

/* ---------------------------------------------------------------
   Formlar
   --------------------------------------------------------------- */

.form-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px 20px; }
.form-izgara .genis { grid-column: 1 / -1; }

.alan { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.alan > label,
.alan-etiket {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lacivert);
}
.alan-etiket .zorunlu,
.alan > label .zorunlu { color: var(--kirmizi); margin-left: 2px; }

.girdi,
.secim,
.metin-alani {
    width: 100%;
    padding: 9px 12px;
    min-height: 40px;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    background: #fff;
    color: var(--metin);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.metin-alani { min-height: 96px; resize: vertical; line-height: 1.55; }
.secim {
    appearance: none;
    padding-right: 34px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6d7e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
.girdi:focus,
.secim:focus,
.metin-alani:focus {
    outline: none;
    border-color: var(--mavi-acik);
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.18);
}
.girdi[readonly],
.secim:disabled,
.girdi:disabled { background-color: var(--vurgu-zemin); color: var(--metin-2); }
.girdi.hatali,
.metin-alani.hatali,
.secim.hatali { border-color: var(--kirmizi); }
.alan-hata { font-size: 12.5px; color: var(--kirmizi); }

.secim-grubu {
    display: inline-flex;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    overflow: hidden;
    background: #fff;
    flex-wrap: wrap;
}
.secim-grubu label { margin: 0; cursor: pointer; }
.secim-grubu input { position: absolute; opacity: 0; pointer-events: none; }
.secim-grubu span {
    display: block;
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 600;
    color: var(--metin-2);
    border-right: 1px solid var(--cizgi);
    transition: background-color 0.15s ease, color 0.15s ease;
}
.secim-grubu label:last-child span { border-right: 0; }
.secim-grubu input:checked + span { background: var(--lacivert); color: #fff; }
.secim-grubu input:focus-visible + span { box-shadow: inset 0 0 0 2px var(--mavi-acik); }
.secim-grubu input:disabled + span { cursor: not-allowed; opacity: 0.6; }
.guclik-secimi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 780px; border: 0; border-radius: 0; overflow: visible; background: transparent; }
.guclik-secimi label { display: flex; }
.guclik-secimi span,
.guclik-secimi label:last-child span {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px 12px 42px;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    background: #fff;
    color: var(--metin);
    font-weight: 400;
    text-align: left;
    white-space: normal;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.guclik-secimi span::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 13px;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 2px solid var(--cizgi-koyu);
    background: #fff;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.guclik-secimi strong { font-size: 14.5px; font-weight: 700; color: var(--lacivert); }
.guclik-secimi small { font-size: 13px; line-height: 1.45; color: var(--lacivert-2); }
.guclik-secimi label:hover span { border-color: var(--mavi-acik); }
.guclik-secimi input:checked + span { background: #f4f9fd; color: var(--metin); border-color: var(--mavi); box-shadow: 0 0 0 1px var(--mavi); }
.guclik-secimi input:checked + span::before { border-color: var(--mavi); background: var(--mavi); box-shadow: inset 0 0 0 3px #fff; }
.guclik-secimi input:focus-visible + span { box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.3); }
.karar-secimi { grid-template-columns: minmax(0, 1fr); max-width: none; }
.karar-secimi.hatali span { border-color: var(--kirmizi); }
.karar-secimi .karar-ret strong { color: var(--kirmizi-koyu); }
.karar-secimi .karar-ret input:checked + span { background: var(--kirmizi-zemin); border-color: var(--kirmizi); box-shadow: 0 0 0 1px var(--kirmizi); }
.karar-secimi .karar-ret input:checked + span::before { border-color: var(--kirmizi); background: var(--kirmizi); }
.ret-onerisi .ret-gerekce { margin-top: 6px; white-space: pre-wrap; color: var(--metin); }
@media (max-width: 700px) {
    .guclik-secimi { grid-template-columns: minmax(0, 1fr); }
}

.onay-kutusu { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.onay-kutusu input { width: 17px; height: 17px; accent-color: var(--mavi); }

.etiket-secici {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
    min-height: 40px;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    background: #fff;
}
.etiket-secici .secili-etiket {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px 4px 10px;
    border-radius: 4px;
    background: var(--mavi-zemin);
    color: var(--mavi-koyu);
    font-size: 13px;
    font-weight: 600;
}
.etiket-secici .secili-etiket button {
    border: 0;
    background: transparent;
    color: var(--mavi-koyu);
    cursor: pointer;
    padding: 0 2px;
    line-height: 1;
}
.etiket-secici select {
    border: 0;
    flex: 1;
    min-width: 160px;
    background: transparent;
    padding: 4px;
}
.etiket-secici select:focus { outline: none; }

/* Sayfada çizilen açılır liste */
.acilir-liste { position: relative; width: 100%; }
.acilir-sade { flex: 1; min-width: 160px; width: auto; }
.acilir-gizli { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.acilir-dugme { display: block; width: 100%; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: inherit; line-height: 1.45; }
.acilir-dugme.bos { color: var(--metin-2); }
.acilir-dugme:disabled { cursor: not-allowed; }
.acilir-sade .acilir-dugme { border: 0; background: transparent; padding: 4px 6px; color: var(--metin-2); }
.acilir-sade .acilir-dugme:focus-visible { outline: 2px solid var(--mavi-acik); border-radius: 4px; }
.acilir-liste.acik > .acilir-dugme.secim { border-color: var(--mavi-acik); box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.18); }
.acilir-liste:has(select.hatali) > .acilir-dugme { border-color: var(--kirmizi); }
.acilir-panel {
    position: absolute;
    z-index: 40;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    min-width: 260px;
    max-height: 340px;
    overflow-y: auto;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
.acilir-kucuk { display: inline-block; width: auto; min-width: 190px; }
.acilir-kucuk .acilir-panel { min-width: 260px; }
.acilir-ara { position: sticky; top: -6px; z-index: 1; min-height: 36px; margin: -6px -6px 6px; width: calc(100% + 12px); border-width: 0 0 1px; border-radius: var(--yaricap-k) var(--yaricap-k) 0 0; }
.acilir-ara[hidden] { display: none; }
.acilir-oge { padding: 8px 10px; border-radius: 6px; font-size: 14px; line-height: 1.45; color: var(--metin); cursor: pointer; }
.acilir-oge.aktif { background: var(--vurgu-zemin); }
.acilir-oge.secili { color: var(--mavi-koyu); font-weight: 600; background: #eaf3fb; }
.acilir-grup { padding: 8px 10px 4px; font-size: 13px; font-weight: 700; color: var(--lacivert); }
.acilir-girinti { padding-left: 30px; position: relative; font-size: 13.5px; color: var(--lacivert-2); }
.acilir-girinti::before { content: '•'; position: absolute; left: 16px; color: var(--metin-2); }
.acilir-bos { padding: 10px; font-size: 13.5px; color: var(--metin-2); }

.form-alt {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--cizgi);
}

.arama-kutusu { position: relative; }
.arama-kutusu .simge { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--metin-3); }
.arama-kutusu .girdi { padding-left: 34px; }

.suzgec-cubugu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin-bottom: 16px;
}
.suzgec-cubugu .alan { min-width: 160px; }
.suzgec-cubugu .alan.genis { flex: 1; min-width: 220px; }
.suzgec-cubugu .suzgec-sag { margin-left: auto; }
.secim.secim-kucuk { min-height: 32px; padding: 4px 30px 4px 10px; font-size: 13px; width: auto; }
.tablo td.ad-hucre { min-width: 230px; }
.liste-ozeti { margin: -4px 0 12px; font-size: 13px; color: var(--metin-2); }
.alan-cipleri { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.alan-cipi {
    padding: 5px 11px;
    border: 1px solid var(--cizgi-koyu);
    border-radius: 999px;
    background: #fff;
    color: var(--metin-2);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}
.alan-cipi:hover { border-color: var(--mavi); color: var(--mavi-koyu); }
.alan-cipi.secili { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }

/* ---------------------------------------------------------------
   Tablolar
   --------------------------------------------------------------- */

.tablo-sarmal { width: 100%; overflow-x: auto; border-radius: var(--yaricap-k); }

.tablo {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 14px;
}
.tablo th,
.tablo td {
    border: 1px solid #d9dee2;
    padding: 12px 14px;
    text-align: left;
    vertical-align: middle;
}
.tablo th {
    background: var(--lacivert);
    color: #ecf0f1;
    font-weight: 600;
    font-size: 13.5px;
    white-space: nowrap;
}
.tablo tbody tr:nth-child(even) { background: var(--zebra); }
.tablo tbody tr:hover { background: #f1f5f8; }
.tablo td.sayi,
.tablo th.sayi { text-align: right; font-variant-numeric: tabular-nums; }
.tablo td.orta,
.tablo th.orta { text-align: center; }
.tablo .eylem-hucre { white-space: nowrap; text-align: right; }
.tablo .eylem-hucre .dugme + .dugme { margin-left: 4px; }
.tablo-sik th, .tablo-sik td { padding: 8px 10px; }
.tablo a.tablo-baglanti { font-weight: 600; color: var(--lacivert); }
.tablo a.tablo-baglanti:hover { color: var(--mavi); }
.tablo tr.vurgulu { background: var(--turuncu-zemin) !important; }

.tanim-tablosu { width: 100%; border-collapse: collapse; }
.tanim-tablosu th,
.tanim-tablosu td { padding: 9px 12px; border-bottom: 1px solid var(--cizgi); text-align: left; vertical-align: top; font-size: 14px; }
.tanim-tablosu th { color: var(--metin-2); font-weight: 600; }
.tanim-tablosu td.sayi { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }

/* ---------------------------------------------------------------
   Rozetler ve rol etiketleri
   --------------------------------------------------------------- */

.rozet {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    color: #fff;
    background: var(--gri);
}
.rozet-taslak { background: var(--gri); }
.rozet-uzman_incelemesi { background: var(--mavi); }
.rozet-yazar_duzeltmesi { background: var(--turuncu); }
.rozet-admin_degerlendirmesi { background: var(--lacivert); }
.rozet-onaylandi { background: var(--yesil); }
.rozet-reddedildi { background: var(--kirmizi); }
.rozet-cerceve { background: #fff; color: var(--metin-2); border: 1px solid var(--cizgi-koyu); }
.rozet-yesil { background: var(--yesil); }
.rozet-turuncu { background: var(--turuncu); }
.rozet-kirmizi { background: var(--kirmizi); }
.rozet-mavi { background: var(--mavi); }
.rozet-lacivert { background: var(--lacivert); }

.rol-etiket {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}
.rol-etiket::before {
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
}
.rol-yazar { color: var(--rol-yazar); }
.rol-koordinator { color: var(--rol-koordinator); }
.rol-olcme { color: var(--rol-olcme); }
.rol-admin { color: var(--rol-admin); }

/* ---------------------------------------------------------------
   Uyarılar, bildirimler, toast
   --------------------------------------------------------------- */

.uyari {
    padding: 12px 16px;
    border-radius: var(--yaricap-k);
    margin-bottom: 16px;
    font-size: 14px;
    border-left: 4px solid var(--mavi);
    background: var(--mavi-zemin);
    color: var(--mavi-koyu);
}
.uyari-basari { border-left-color: var(--yesil); background: var(--yesil-zemin); color: var(--yesil-koyu); }
.uyari-hata { border-left-color: var(--kirmizi); background: var(--kirmizi-zemin); color: var(--kirmizi-koyu); }
.uyari-dikkat { border-left-color: var(--turuncu); background: var(--turuncu-zemin); color: #9a6408; }

.toast-alani {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}
.toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 260px;
    max-width: 420px;
    padding: 12px 14px 12px 16px;
    border-radius: var(--yaricap-k);
    background: var(--lacivert);
    color: #fff;
    font-size: 14px;
    box-shadow: var(--golge-modal);
    border-left: 4px solid var(--mavi-acik);
    animation: toast-gir 0.2s ease-out;
}
.toast-basari { border-left-color: #58d68d; }
.toast-hata { border-left-color: #ec7063; }
.toast-dikkat { border-left-color: #f5b041; }
.toast .toast-metin { flex: 1; }
.toast button {
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: transparent;
    color: #fff;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.toast button:hover { background: rgba(255, 255, 255, 0.12); }
@keyframes toast-gir { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------------------------------------------------------------
   Modal
   --------------------------------------------------------------- */

.modal-arka {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(36, 51, 66, 0.55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 8vh 16px 16px;
    overflow-y: auto;
}
.modal {
    width: 100%;
    max-width: 520px;
    background: #fff;
    border-radius: var(--yaricap);
    box-shadow: var(--golge-modal);
    display: flex;
    flex-direction: column;
    max-height: 84vh;
}
.modal-genis { max-width: 860px; }
.modal-cok-genis { max-width: 1180px; }
.modal-bas {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--cizgi);
}
.modal-bas h2 { font-size: 17px; }
.modal-kapat {
    border: 0;
    background: transparent;
    color: var(--metin-2);
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    display: inline-flex;
}
.modal-kapat:hover { background: var(--vurgu-zemin); color: var(--lacivert); }
.modal-govde { padding: 20px; overflow-y: auto; }
.modal-alt {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--cizgi);
    background: #fafbfc;
    border-radius: 0 0 var(--yaricap) var(--yaricap);
}

/* ---------------------------------------------------------------
   Sekmeler
   --------------------------------------------------------------- */

.sekmeler {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid var(--cizgi);
    margin-bottom: 16px;
    overflow-x: auto;
}
.sekme {
    border: 0;
    background: transparent;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--metin-2);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.sekme:hover { color: var(--lacivert); }
.sekme.aktif { color: var(--lacivert); border-bottom-color: var(--mavi); }
.sekme .sekme-sayac {
    min-width: 20px;
    padding: 1px 6px;
    border-radius: 10px;
    background: var(--vurgu-zemin);
    color: var(--metin-2);
    font-size: 12px;
    text-align: center;
}
.sekme.aktif .sekme-sayac { background: var(--mavi); color: #fff; }
.sekme-paneli { display: none; }
.sekme-paneli.aktif { display: block; }

/* ---------------------------------------------------------------
   Boş durum, sayfalama, liste
   --------------------------------------------------------------- */

.bos-durum {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 36px 16px;
    color: var(--metin-3);
    font-size: 14.5px;
}

.sayfalama { display: flex; gap: 4px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.sayfalama a,
.sayfalama span {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--yaricap-k);
    border: 1px solid var(--cizgi-koyu);
    background: #fff;
    font-size: 14px;
    color: var(--lacivert);
}
.sayfalama a:hover { background: var(--vurgu-zemin); }
.sayfalama span.aktif { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.sayfalama .sayfalama-bosluk { border: 0; background: transparent; }
.sayfalama .sayfalama-yon { padding: 0 14px; font-weight: 600; }
.sayfalama .sayfalama-yon.pasif { color: var(--metin-3); background: var(--zemin); border-color: var(--cizgi); }

/* Son işlemler: zaman, kişi, işlem ve soru tek satırda; rol rengi yalnızca ince sol çizgide */
.islem-listesi { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cizgi); }
.islem-satiri { display: grid; grid-template-columns: 150px minmax(180px, 1.1fr) minmax(160px, 1fr) minmax(220px, 1.4fr); gap: 16px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--cizgi); border-left: 3px solid var(--cizgi); }
.islem-satiri:nth-child(even) { background: #f7f9fa; }
.islem-satiri.rol-yazar { border-left-color: var(--rol-yazar); }
.islem-satiri.rol-koordinator { border-left-color: var(--rol-koordinator); }
.islem-satiri.rol-olcme { border-left-color: var(--rol-olcme); }
.islem-satiri.rol-admin { border-left-color: var(--rol-admin); }
.islem-zaman { display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }
.islem-zaman strong { font-size: 14px; color: var(--lacivert); }
.islem-zaman span { font-size: 12.5px; color: var(--metin-3); }
.islem-kisi { display: flex; flex-direction: column; }
.islem-kisi strong { font-size: 14px; color: var(--metin); }
.islem-kisi span { font-size: 12.5px; color: var(--metin-2); }
.islem-eylem { font-size: 14px; font-weight: 600; color: var(--lacivert); }
.islem-ret .islem-eylem { color: var(--kirmizi-koyu); }
.islem-onay .islem-eylem { color: var(--yesil-koyu); }
@media (max-width: 900px) { .islem-satiri { grid-template-columns: minmax(0, 1fr); gap: 4px; } }

.akis-listesi { list-style: none; margin: 0; padding: 0; }
.akis-listesi li {
    display: flex;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--cizgi);
    font-size: 14px;
}
.akis-listesi li:last-child { border-bottom: 0; }
.akis-nokta { width: 9px; height: 9px; border-radius: 50%; background: var(--mavi); margin-top: 7px; flex-shrink: 0; }
.akis-zaman { font-size: 12.5px; color: var(--metin-3); white-space: nowrap; }

.bildirim-satiri { display: flex; gap: 12px; padding: 14px 4px; border-bottom: 1px solid var(--cizgi); }
.bildirim-satiri.okunmamis { background: #f6fafd; }
.bildirim-satiri .bildirim-baslik { font-weight: 600; color: var(--lacivert); }

/* ---------------------------------------------------------------
   Giriş sayfası
   --------------------------------------------------------------- */

.giris-govde { display: flex; flex-direction: column; min-height: 100vh; background: #fff; }

.giris-ust {
    background: #fff;
    min-height: 75px;
    padding: 12px 30px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--cizgi);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    z-index: 2;
}
.giris-marka { display: inline-flex; align-items: center; gap: 14px; }
.giris-marka img { display: block; height: 44px; width: auto; }
.giris-marka .marka-ayrac { height: 32px; }
.giris-marka .marka-urun { font-size: 17px; }

.giris-sarmal { flex: 1; display: flex; min-height: 0; }

.giris-sol {
    flex: 1.15;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fdfcf7;
    border-right: 1px solid #ece6d6;
    padding: 36px 40px;
}
.giris-sol-icerik { width: 100%; max-width: 760px; }
.giris-sol h1 { color: var(--lacivert); font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; margin-bottom: 10px; }
.giris-sol .giris-alt-baslik { font-size: clamp(15px, 1.6vw, 18px); color: #5d6d7e; line-height: 1.6; }
.giris-gorseli { display: block; width: 100%; height: auto; margin-top: 18px; }
.giris-gorseli img { display: block; width: 100%; height: auto; }

.giris-sag {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 24px;
    background: var(--zemin);
}
.giris-kartlari { flex: 1; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.giris-karti {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    padding: 28px 32px;
    border-radius: var(--yaricap);
    border-top: 4px solid var(--mavi);
    background: #fff;
    box-shadow: var(--golge);
}
.giris-karti.kart-yazar { border-top-color: var(--rol-yazar); }
.giris-karti.kart-koordinator { border-top-color: var(--rol-koordinator); }
.giris-karti.kart-olcme { border-top-color: var(--rol-olcme); }
.giris-karti.kart-admin { border-top-color: var(--rol-admin); }
.giris-karti-ust { display: flex; align-items: center; gap: 12px; margin-bottom: 2px; }
.giris-karti-ust h2 { font-size: 19px; line-height: 1.3; color: var(--lacivert); margin: 0; }
.giris-karti .girdi { min-height: 44px; font-size: 15px; }
.giris-karti .alan { margin: 0; }
.giris-karti .uyari { margin: 0; padding: 9px 12px; font-size: 13px; }
.giris-karti .dugme { width: 100%; min-height: 46px; margin-top: 4px; color: #fff; border-color: transparent; font-size: 15px; }
.giris-karti .dugme:hover { filter: brightness(0.92); color: #fff; }
.giris-karti .dugme-cerceve, .giris-karti .dugme-cerceve:hover { background: #fff; color: var(--lacivert); border-color: var(--cizgi-koyu); }
.dugme-rol-yazar { background: var(--rol-yazar); }
.dugme-rol-koordinator { background: var(--rol-koordinator); }
.dugme-rol-olcme { background: var(--rol-olcme); }
.dugme-rol-admin { background: var(--rol-admin); }
.eposta-girdisi { display: flex; align-items: stretch; }
.eposta-girdisi .girdi { min-width: 0; flex: 1; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.eposta-girdisi span {
    display: flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid var(--cizgi-koyu);
    border-left: 0;
    border-radius: 0 var(--yaricap-k) var(--yaricap-k) 0;
    background: var(--vurgu-zemin);
    color: var(--metin-2);
    font-size: 13.5px;
    white-space: nowrap;
}
.giris-tek { flex: 1; width: 100%; gap: 18px; padding: 48px 40px; }
.giris-tek > * { width: 100%; max-width: 520px; align-self: center; }
.giris-tek .giris-karti-ust h2 { font-size: 24px; }
.giris-genel-uyari { width: 100%; margin: 0; }
@media (max-height: 820px) and (min-width: 901px) {
    .giris-sag { padding: 16px; gap: 10px; }
    .giris-kartlari { gap: 14px; }
    .giris-karti { padding: 16px 22px; gap: 9px; }
    .giris-karti-ust h2 { font-size: 16.5px; }
    .giris-karti .girdi { min-height: 38px; }
    .giris-karti .dugme { min-height: 40px; }
}
.giris-dipnot { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 13px; color: var(--metin-3); }
.giris-dipnot a { color: var(--metin-2); }

.giris-alt {
    background: var(--lacivert);
    color: #c8d3dc;
    padding: 14px 24px;
    text-align: center;
    font-size: 13.5px;
}

.hata-govde { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; }
.hata-kutu {
    background: #fff;
    border-radius: var(--yaricap);
    box-shadow: var(--golge);
    padding: 40px 36px;
    max-width: 460px;
    text-align: center;
}
.hata-kod { font-size: 54px; font-weight: 700; color: var(--gri-acik); line-height: 1; margin-bottom: 10px; }
.hata-kutu h1 { font-size: 22px; margin-bottom: 8px; }
.hata-kutu p { color: var(--metin-2); margin-bottom: 22px; }

.duz-sayfa { max-width: 860px; margin: 0 auto; }
.duz-sayfa h2 { font-size: 17px; margin: 22px 0 8px; }
.duz-sayfa p, .duz-sayfa li { color: var(--metin); line-height: 1.7; }

/* ---------------------------------------------------------------
   Editör ve değişiklik izleme
   --------------------------------------------------------------- */

.editor-kap {
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.editor-kap:focus-within { border-color: var(--mavi-acik); box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.14); }
.editor-kap.salt-okunur { background: #fcfcfd; }
.editor-kap.salt-okunur:focus-within { box-shadow: none; border-color: var(--cizgi-koyu); }

.editor-kap .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid var(--cizgi);
    padding: 6px 8px;
    background: #fafbfc;
    border-radius: var(--yaricap-k) var(--yaricap-k) 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}
.editor-kap .ql-toolbar.ql-snow .ql-formats { margin-right: 8px; display: inline-flex; align-items: center; }
.editor-kap .ql-toolbar button { width: 30px; height: 28px; border-radius: 4px; }
.editor-kap .ql-toolbar button:hover { background: #e9eef2; }
.editor-kap .ql-toolbar button.ql-active { background: #dde6ee; }
.editor-kap .ql-snow.ql-toolbar button:hover .ql-stroke,
.editor-kap .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke: var(--mavi-koyu); }
.editor-kap .ql-snow.ql-toolbar button:hover .ql-fill,
.editor-kap .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: var(--mavi-koyu); }
.editor-kap .ql-toolbar .arac-dugme {
    width: auto !important;
    padding: 0 7px !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--lacivert);
    font-size: 12.5px;
    font-weight: 600;
}
.editor-kap .ql-toolbar .arac-dugme .simge { width: 16px; height: 16px; }
.editor-kap .ql-container.ql-snow { border: 0; font-family: var(--font-metin); font-size: 15.5px; }
.editor-kap .ql-editor {
    min-height: 90px;
    padding: 14px 16px;
    line-height: 1.7;
    color: var(--metin);
}
.editor-kap.buyuk .ql-editor { min-height: 260px; }
.editor-kap.kucuk .ql-editor { min-height: 44px; padding: 9px 12px; }
.editor-kap .ql-editor.ql-blank::before { color: var(--metin-3); font-style: normal; left: 16px; }
.toplu-yapistir .ql-editor.ql-blank::before { white-space: pre-line; line-height: calc(1.7em + 6px); top: 14px; }
.editor-kap .ql-editor p { margin: 0 0 6px; }
.editor-kap .ql-editor img { display: inline-block; max-width: 100%; border: 1px solid var(--cizgi); border-radius: 4px; }
.editor-kap .ql-editor table { border-collapse: collapse; width: auto; min-width: 50%; margin: 8px 0; }
.editor-kap .ql-editor table td { border: 1px solid #b9c3cb; padding: 6px 10px; min-width: 60px; vertical-align: top; }
.editor-kap.salt-okunur .ql-toolbar { display: none; }

.tablo-araclari {
    display: none;
    gap: 4px;
    flex-wrap: wrap;
    padding: 6px 8px;
    border-bottom: 1px solid var(--cizgi);
    background: #f6f9fb;
}
.tablo-araclari.gorunur { display: flex; }
.tablo-araclari button {
    border: 1px solid var(--cizgi-koyu);
    background: #fff;
    border-radius: 4px;
    padding: 3px 9px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--lacivert);
    cursor: pointer;
}
.tablo-araclari button:hover { background: var(--vurgu-zemin); }
.tablo-araclari button.tehlike { color: var(--kirmizi); }
.tablo-araclari button[hidden] { display: none; }
.arac-etiketi { align-self: center; margin-right: 4px; font-size: 12px; font-weight: 700; color: var(--metin-2); }
.ql-editor img { cursor: pointer; }
.ql-editor img.nesne-secili { outline: 3px solid var(--mavi); outline-offset: 2px; border-radius: 2px; }

/* Değişiklik işaretleri: değer "rol:anahtar" biçimindedir */
[data-ins] { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
[data-del] { text-decoration: line-through; text-decoration-thickness: 1.5px; }
[data-fmt] { text-decoration: underline dotted; text-underline-offset: 3px; }

[data-ins^="yazar:"], [data-del^="yazar:"], [data-fmt^="yazar:"] { color: var(--rol-yazar); }
[data-ins^="koordinator:"], [data-del^="koordinator:"], [data-fmt^="koordinator:"] { color: var(--rol-koordinator); }
[data-ins^="olcme:"], [data-del^="olcme:"], [data-fmt^="olcme:"] { color: var(--rol-olcme); }
[data-ins^="admin:"], [data-del^="admin:"], [data-fmt^="admin:"] { color: var(--rol-admin); }

[data-ins^="yazar:"] { background: rgba(31, 97, 141, 0.08); }
[data-ins^="koordinator:"] { background: rgba(176, 58, 46, 0.08); }
[data-ins^="olcme:"] { background: rgba(30, 132, 73, 0.08); }
[data-ins^="admin:"] { background: rgba(126, 81, 9, 0.08); }

img[data-ins] { outline: 2px solid currentColor; outline-offset: 2px; }
img[data-del] { opacity: 0.45; outline: 2px dashed currentColor; outline-offset: 2px; }

[data-cmt] { background: rgba(214, 137, 16, 0.16); border-bottom: 2px solid rgba(214, 137, 16, 0.65); cursor: pointer; }
[data-cmt].yorum-secili { background: rgba(214, 137, 16, 0.32); }

.izleme-secili { box-shadow: 0 0 0 2px rgba(41, 128, 185, 0.45); border-radius: 2px; }

.temiz-gorunum [data-del] { display: none; }
.temiz-gorunum [data-ins],
.temiz-gorunum [data-fmt] { color: inherit; background: none; text-decoration: none; }
.temiz-gorunum img[data-ins] { outline: 0; }
.temiz-gorunum [data-cmt] { background: none; border-bottom: 0; }
.temiz-gorunum .alan-degisiklik-eski { display: none; }
.temiz-gorunum .alan-degisiklik-yeni { color: inherit; background: none; text-decoration: none; }
.temiz-gorunum .soru-karti.soru-silindi { display: none; }
.temiz-gorunum .soru-karti.soru-eklendi { border-left-color: var(--cizgi); }
.temiz-gorunum .secenek.secenek-silindi { display: none; }

.alan-degisiklik { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13.5px; }
.alan-degisiklik-eski { text-decoration: line-through; }
.alan-degisiklik-yeni { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }

.degisiklik-isareti {
    position: absolute;
    z-index: 50;
    display: flex;
    gap: 4px;
    padding: 5px;
    background: #fff;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    box-shadow: var(--golge-modal);
    font-size: 12.5px;
    align-items: center;
}
.degisiklik-isareti .kim { padding: 0 6px; font-weight: 600; white-space: nowrap; }

/* ---------------------------------------------------------------
   Soru formu
   --------------------------------------------------------------- */

.form-ust-cubuk {
    position: sticky;
    top: 75px;
    z-index: 150;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    margin: -20px -20px 20px;
    background: #fff;
    border-bottom: 1px solid var(--cizgi);
    box-shadow: var(--golge-hafif);
}
.form-ust-cubuk .durum-bilgisi { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; flex-wrap: wrap; }
.madde-kodu { font-weight: 700; color: var(--lacivert); font-size: 15px; }
.kayit-gostergesi { font-size: 13px; color: var(--metin-3); display: inline-flex; align-items: center; gap: 6px; }
.kayit-gostergesi.kaydediliyor { color: var(--mavi); }
.kayit-gostergesi.hata { color: var(--kirmizi); }

.kelime-sayaci { display: inline-flex; align-items: center; font-size: 13px; font-weight: 600; padding: 4px 10px; border-radius: 12px; background: var(--vurgu-zemin); color: var(--metin-2); white-space: nowrap; }
.kelime-sayisi { font-size: 12.5px; font-weight: 600; color: var(--metin-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kart-ust .kelime-sayisi { margin-left: auto; }
.soru-bolum-sag { display: inline-flex; align-items: center; gap: 10px; }
.benzerlik-gostergesi {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 12px;
    background: var(--vurgu-zemin);
    color: var(--metin-2);
}
.benzerlik-gostergesi .cubuk { width: 70px; height: 6px; border-radius: 3px; background: var(--cizgi); overflow: hidden; }
.benzerlik-gostergesi .cubuk span { display: block; height: 100%; background: var(--yesil); }
.benzerlik-gostergesi.uyari-seviye { background: var(--turuncu-zemin); color: #9a6408; }
.benzerlik-gostergesi.uyari-seviye .cubuk span { background: var(--turuncu); }
.benzerlik-gostergesi.yuksek-seviye { background: var(--kirmizi-zemin); color: var(--kirmizi-koyu); }
.benzerlik-gostergesi.yuksek-seviye .cubuk span { background: var(--kirmizi); }

.soru-karti {
    border: 1px solid var(--cizgi);
    border-left: 4px solid var(--lacivert);
    border-radius: var(--yaricap-k);
    padding: 16px 18px 18px;
    margin-bottom: 18px;
    background: #fff;
}
.soru-karti.soru-eklendi { border-left-color: currentColor; }
.soru-karti.soru-silindi { opacity: 0.6; border-left-style: dashed; }
.soru-karti.soru-silindi .soru-numarasi { text-decoration: line-through; }
.soru-karti-ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.soru-numarasi { font-size: 16px; font-weight: 700; color: var(--lacivert); letter-spacing: 0.4px; }

.secenekler { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.secenek {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}
.secenek-harf {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid var(--cizgi-koyu);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--metin-2);
    background: #fff;
    cursor: pointer;
    margin-top: 4px;
    transition: all 0.15s ease;
    padding: 0;
}
.secenek-harf:hover { border-color: var(--yesil); color: var(--yesil); }
.secenek.dogru .secenek-harf { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.secenek-harf.uzman-secimi, .secenek-harf.uzman-secimi:hover { background: var(--mavi); border-color: var(--mavi); color: #fff; }
.secenek.secenek-eklendi .secenek-harf { box-shadow: 0 0 0 2px currentColor; }
.secenek.secenek-silindi { opacity: 0.55; }
.secenek.secenek-silindi .secenek-harf { text-decoration: line-through; border-style: dashed; }
.secenek-sil { margin-top: 6px; }
.secenek-eylemleri { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

.soru-bolum-etiket {
    font-size: 13px;
    font-weight: 700;
    color: var(--metin-2);
    text-transform: none;
    margin: 14px 0 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.bilesen-ozet {
    margin-top: 6px;
    font-size: 13px;
    color: var(--metin-2);
    background: var(--vurgu-zemin);
    border-radius: var(--yaricap-k);
    padding: 8px 10px;
    line-height: 1.55;
}

/* ---------------------------------------------------------------
   İnceleme düzeni
   --------------------------------------------------------------- */

.inceleme-duzeni {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 20px;
    align-items: start;
}
.yan-panel {
    position: sticky;
    top: calc(91px + var(--ust-cubuk, 60px));
    max-height: calc(100vh - 107px - var(--ust-cubuk, 60px));
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--yaricap);
    box-shadow: var(--golge);
    overflow: hidden;
}
.yan-panel .sekmeler { margin: 0; padding: 0 10px; background: #fafbfc; }
.yan-panel-govde { padding: 14px 16px; overflow-y: auto; flex: 1; }

.kilit-bandi {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    border-radius: var(--yaricap-k);
    font-size: 13.5px;
    font-weight: 600;
    background: var(--vurgu-zemin);
    color: var(--metin-2);
}
.kilit-bandi.benim { background: var(--yesil-zemin); color: var(--yesil-koyu); }
.kilit-bandi.baskasi { background: var(--turuncu-zemin); color: #9a6408; }

.degisiklik-ogesi {
    border: 1px solid var(--cizgi);
    border-left: 3px solid currentColor;
    border-radius: var(--yaricap-k);
    padding: 10px 12px;
    margin-bottom: 10px;
    font-size: 13.5px;
    cursor: pointer;
    background: #fff;
}
.degisiklik-ogesi:hover { background: #fafcfd; }
.degisiklik-ogesi .ust { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.degisiklik-ogesi .tur { font-weight: 700; }
.degisiklik-ogesi .alan-adi { color: var(--metin-3); font-size: 12.5px; }
.degisiklik-ogesi .ozet-metin { color: var(--metin); word-break: break-word; }
.degisiklik-ogesi .ozet-metin del { color: inherit; }
.degisiklik-ogesi .eylemler { display: flex; gap: 6px; margin-top: 8px; }
.degisiklik-ogesi .eylemler .rozet { align-self: center; }
.karar-baslik { margin-top: 16px; }
.degisiklik-ogesi.karar-verildi { background: #f7f9fa; cursor: default; }
.degisiklik-ogesi.karar-verildi .ozet-metin { color: var(--metin-2); }
.degisiklik-grubu-baslik { font-size: 12.5px; font-weight: 700; color: var(--metin-2); margin: 14px 0 8px; display: flex; justify-content: space-between; }

.yorum-dizisi {
    border: 1px solid var(--cizgi);
    border-radius: var(--yaricap-k);
    padding: 10px 12px;
    margin-bottom: 10px;
    font-size: 13.5px;
    background: #fff;
}
.yorum-dizisi.secili { border-color: var(--turuncu); box-shadow: 0 0 0 2px rgba(214, 137, 16, 0.2); }
.yorum-dizisi.cozuldu { opacity: 0.6; }
.yorum-alinti {
    font-size: 12.5px;
    color: var(--metin-2);
    border-left: 3px solid rgba(214, 137, 16, 0.6);
    padding-left: 8px;
    margin-bottom: 8px;
}
.yorum { padding: 6px 0; }
.yorum + .yorum { border-top: 1px dashed var(--cizgi); }
.yorum-ust { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 2px; }
.yorum-metin { white-space: pre-wrap; word-break: break-word; }
.yorum-yanit { display: flex; gap: 6px; margin-top: 8px; }
.yorum-yanit .girdi { min-height: 34px; padding: 6px 10px; font-size: 13.5px; }

.puan-secici { display: inline-flex; gap: 4px; }
.puan-secici button {
    width: 36px;
    height: 34px;
    border: 1px solid var(--cizgi-koyu);
    background: #fff;
    border-radius: var(--yaricap-k);
    font-weight: 700;
    color: var(--metin-2);
    cursor: pointer;
    transition: all 0.15s ease;
}
.puan-secici button:hover { border-color: var(--mavi); color: var(--mavi); }
.puan-secici button.secili { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.puan-secici button:disabled { cursor: not-allowed; opacity: 0.6; }
.puan-satiri {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--cizgi);
    font-size: 14px;
}
.puan-satiri:last-child { border-bottom: 0; }
.puan-satiri .etiket { font-weight: 600; }

/* ---------------------------------------------------------------
   Sürüm karşılaştırma
   --------------------------------------------------------------- */

.surum-seridi { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.surum-cipi {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
    padding: 7px 12px;
    border: 1px solid var(--cizgi-koyu);
    border-left: 4px solid currentColor;
    border-radius: var(--yaricap-k);
    background: #fff;
    cursor: pointer;
    text-align: left;
    font-size: 12.5px;
    color: var(--metin-2);
    transition: background-color 0.15s ease;
}
.surum-cipi strong { font-size: 13.5px; color: var(--lacivert); }
.surum-cipi:hover { background: var(--vurgu-zemin); }
.surum-cipi.secili { background: var(--lacivert); border-color: var(--lacivert); }
.surum-cipi.secili strong,
.surum-cipi.secili span { color: #fff; }

.karsilastirma-kap { overflow: auto; max-height: calc(100vh - 110px); padding-bottom: 6px; border-radius: var(--yaricap-k); }
.karsilastirma-izgara {
    display: grid;
    gap: 0 16px;
    min-width: 100%;
}
.karsilastirma-baslik {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--lacivert);
    color: #fff;
    border-radius: var(--yaricap-k) var(--yaricap-k) 0 0;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.karsilastirma-baslik.son { background: var(--mavi-koyu); }
.karsilastirma-baslik .surum-adi { font-weight: 700; font-size: 14.5px; }
.karsilastirma-baslik .surum-kim { font-size: 12.5px; color: #d6e4ee; }
.karsilastirma-baslik .surum-degisim { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 10px; background: rgba(255, 255, 255, 0.16); color: #fff; font-size: 12px; font-weight: 600; }
.surum-cipi .surum-degisim { font-weight: 600; color: var(--mavi-koyu); }
.karsilastirma-baslik .secim-grubu { border-color: rgba(255, 255, 255, 0.35); background: transparent; flex-shrink: 0; }
.karsilastirma-baslik .secim-grubu span { white-space: nowrap; }
.karsilastirma-baslik .secim-grubu span { color: #d6e4ee; padding: 4px 10px; font-size: 12.5px; border-right-color: rgba(255, 255, 255, 0.25); }
.karsilastirma-baslik .secim-grubu input:checked + span { background: #fff; color: var(--lacivert); }
.karsilastirma-hucre {
    background: #fff;
    border-left: 1px solid var(--cizgi);
    border-right: 1px solid var(--cizgi);
    padding: 14px 16px;
    font-size: 14.5px;
    line-height: 1.65;
    min-width: 0;
    overflow-wrap: break-word;
}
.karsilastirma-hucre.bolum-basi { border-top: 1px solid var(--cizgi); }
.karsilastirma-hucre.son-satir { border-bottom: 1px solid var(--cizgi); border-radius: 0 0 var(--yaricap-k) var(--yaricap-k); margin-bottom: 16px; }
.karsilastirma-bolum-adi {
    grid-column: 1 / -1;
    font-size: 13px;
    font-weight: 700;
    color: var(--metin-2);
    padding: 14px 2px 6px;
    letter-spacing: 0.3px;
}
.karsilastirma-hucre img { max-width: 100%; height: auto; }
.karsilastirma-hucre table { border-collapse: collapse; margin: 6px 0; max-width: 100%; }
.karsilastirma-hucre table td { border: 1px solid #b9c3cb; padding: 4px 8px; }
.karsilastirma-hucre p { margin: 0 0 6px; }

.fark-ekle { background: rgba(30, 132, 73, 0.14); color: var(--yesil-koyu); text-decoration: underline; text-underline-offset: 3px; }
.fark-sil { background: rgba(176, 58, 46, 0.12); color: var(--kirmizi-koyu); text-decoration: line-through; }

/* ---------------------------------------------------------------
   Önizleme: soru formu düzeni
   --------------------------------------------------------------- */

.form-onizleme { background: #fff; color: #111; font-family: 'Times New Roman', Times, serif; font-size: 15px; line-height: 1.55; }
.form-onizleme h2 { text-align: center; font-size: 17px; letter-spacing: 0.5px; margin-bottom: 14px; color: #111; font-family: inherit; }
.form-onizleme table.form-tablo { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.form-onizleme table.form-tablo th,
.form-onizleme table.form-tablo td { border: 1px solid #333; padding: 7px 10px; vertical-align: top; text-align: left; }
.form-onizleme table.form-tablo th { width: 28%; background: #eef1f4; font-weight: 700; }
.form-onizleme .baglam-metni { border: 1px solid #333; padding: 14px 16px; margin-bottom: 18px; }
.form-onizleme .soru-blok { margin-bottom: 18px; page-break-inside: avoid; }
.form-onizleme .soru-blok-baslik { font-weight: 700; text-align: center; border: 1px solid #333; border-bottom: 0; padding: 6px; background: #eef1f4; }
.form-onizleme .secenek-satiri { margin: 4px 0; }
.form-onizleme img { max-width: 100%; }
.form-onizleme .ql-align-center { text-align: center; }
.form-onizleme .ql-align-right { text-align: right; }
.form-onizleme .ql-align-justify { text-align: justify; }
.ql-align-center { text-align: center; }
.ql-align-right { text-align: right; }
.ql-align-justify { text-align: justify; }

/* ---------------------------------------------------------------
   Grafik oluşturucu, belirtke, sonuç ızgarası
   --------------------------------------------------------------- */

.grafik-duzeni { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; }
.grafik-onizleme { border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); padding: 12px; background: #fff; min-height: 300px; }
.veri-tablosu { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.veri-tablosu th, .veri-tablosu td { border: 1px solid var(--cizgi-koyu); padding: 0; }
.veri-tablosu th { background: var(--vurgu-zemin); padding: 6px 8px; font-weight: 600; text-align: left; }
.veri-tablosu input { width: 100%; border: 0; padding: 7px 8px; background: transparent; }
.veri-tablosu input:focus { outline: 2px solid var(--mavi-acik); outline-offset: -2px; }
.veri-tablosu .sil-hucre { width: 34px; text-align: center; }
.veri-tablosu .sil-hucre button { border: 0; background: transparent; color: var(--kirmizi); cursor: pointer; padding: 6px; }

.belirtke-tablosu th, .belirtke-tablosu td { text-align: center; }
.belirtke-tablosu th:first-child, .belirtke-tablosu td:first-child { text-align: left; }
.belirtke-tablosu td.belirtke-hucre { padding: 4px; }
.belirtke-tablosu input {
    width: 58px;
    padding: 6px;
    text-align: center;
    border: 1px solid var(--cizgi-koyu);
    border-radius: 4px;
    font-variant-numeric: tabular-nums;
}
.belirtke-tablosu td.eksik { background: var(--kirmizi-zemin) !important; }
.belirtke-tablosu td.tamam { background: var(--yesil-zemin) !important; }
.belirtke-tablosu tfoot td { font-weight: 700; background: var(--vurgu-zemin); }
.belirtke-tablosu .bilesen-kod { font-weight: 700; color: var(--lacivert); margin-right: 6px; }

.sonuc-izgara-kap { overflow: auto; max-height: 70vh; border: 1px solid var(--cizgi-koyu); border-radius: var(--yaricap-k); }
.sonuc-izgara { border-collapse: separate; border-spacing: 0; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.sonuc-izgara th, .sonuc-izgara td { border-right: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); padding: 0; background: #fff; }
.sonuc-izgara th { position: sticky; top: 0; z-index: 2; background: var(--lacivert); color: #ecf0f1; padding: 7px 6px; font-weight: 600; text-align: center; min-width: 34px; }
.sonuc-izgara td input {
    width: 100%;
    min-width: 32px;
    border: 0;
    padding: 7px 5px;
    text-align: center;
    background: transparent;
    text-transform: uppercase;
    font-weight: 600;
}
.sonuc-izgara td input:focus { outline: 2px solid var(--mavi-acik); outline-offset: -2px; background: #f3f8fc; }
.sonuc-izgara td.sabit, .sonuc-izgara th.sabit { position: sticky; left: 0; z-index: 3; }
.sonuc-izgara td.sabit-2, .sonuc-izgara th.sabit-2 { position: sticky; left: 130px; z-index: 3; }
.sonuc-izgara th.sabit, .sonuc-izgara th.sabit-2 { z-index: 4; }
.sonuc-izgara td.sabit input { min-width: 130px; width: 130px; text-align: left; padding-left: 10px; text-transform: none; }
.sonuc-izgara td.sabit-2 input { min-width: 60px; width: 60px; }
.sonuc-izgara td.dogru input { color: var(--yesil-koyu); background: var(--yesil-zemin); }
.sonuc-izgara td.yanlis input { color: var(--kirmizi-koyu); background: var(--kirmizi-zemin); }
.sonuc-izgara td.gecersiz input { background: var(--turuncu-zemin); }
.sonuc-izgara tr.satir-hatali td.sabit input { color: var(--kirmizi); }

.optik-onizleme { font-family: Consolas, 'Courier New', monospace; font-size: 12.5px; white-space: pre; overflow-x: auto; background: #fafbfc; border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); padding: 10px; }
.optik-cetvel { color: var(--metin-3); }

.ilerleme { height: 8px; background: var(--cizgi); border-radius: 4px; overflow: hidden; }
.ilerleme span { display: block; height: 100%; background: var(--mavi); }

.grafik-kutusu { position: relative; height: 300px; }
.grafik-kutusu.buyuk { height: 380px; }

.isi-haritasi td { text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }

.yazim-oynatici { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.yazim-oynatici input[type="range"] { flex: 1; accent-color: var(--mavi); }

/* ---------------------------------------------------------------
   Duyarlı düzen
   --------------------------------------------------------------- */

@media (max-width: 1200px) {
    .inceleme-duzeni { grid-template-columns: minmax(0, 1fr) 330px; }
    .izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    .inceleme-duzeni,
    .izgara-ana-yan { grid-template-columns: minmax(0, 1fr); }
    .yan-panel { position: static; max-height: none; }
    .grafik-duzeni { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .yan-menu { transform: translateX(-100%); transition: transform 0.2s ease; }
    .yan-menu.acik { transform: none; }
    .ana { margin-left: 0; }
    .ust-marka { display: inline-flex; }
    body.menu-kapali .yan-menu { transform: translateX(-100%); }
    body.menu-kapali .yan-menu.acik { transform: none; }
    .ust-serit { padding: 10px 16px; }
    .izgara-2, .izgara-3 { grid-template-columns: minmax(0, 1fr); }
    .giris-sarmal { flex-direction: column; }
    .giris-sol { flex: 0 0 auto; padding: 24px 20px; border-right: 0; border-bottom: 1px solid #ece6d6; }
    .giris-gorseli { max-width: 420px; margin: 12px auto 0; }
    .giris-sag { padding: 24px 16px; }
    .giris-kartlari { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
    .giris-karti { padding: 22px; }
    .giris-tek { padding: 28px 22px; }
    .form-ust-cubuk { top: 60px; }
    .karsilastirma-baslik { top: 60px; }
}

@media (max-width: 600px) {
    .icerik { padding: 12px; }
    .kart { padding: 16px; }
    .izgara-4 { grid-template-columns: minmax(0, 1fr); }
    .form-ust-cubuk { margin: -12px -12px 16px; }
    .secenek { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; }
    .secenek-harf { width: 30px; height: 30px; }
    .toast-alani { left: 12px; right: 12px; }
    .toast { min-width: 0; max-width: none; }
    .alt-bilgi { justify-content: center; text-align: center; }
}

@media print {
    .yan-menu, .ust-serit, .alt-bilgi, .form-ust-cubuk, .yan-panel, .toast-alani, .kart-eylemler, .yazdirma-gizle { display: none !important; }
    .ana { margin: 0; }
    .icerik { padding: 0; }
    body { background: #fff; }
    .kart { box-shadow: none; padding: 0; }
}

/* ---------------------------------------------------------------
   Müfredat ağacı
   --------------------------------------------------------------- */

.ders-cipleri { display: flex; flex-wrap: wrap; gap: 8px; }
.ders-cipi {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--cizgi-koyu);
    border-radius: var(--yaricap-k);
    background: #fff;
    color: var(--metin-2);
    font-size: 14px;
}
.ders-cipi strong { color: var(--lacivert); }
.ders-cipi:hover { background: var(--vurgu-zemin); color: var(--metin); }
.ders-cipi.secili { background: var(--lacivert); border-color: var(--lacivert); color: #e6edf5; }
.ders-cipi.secili strong { color: #fff; }
.ders-cipi.pasif-ders { opacity: 0.55; }

.agac {
    border: 1px solid var(--cizgi);
    border-radius: var(--yaricap-k);
    margin-bottom: 8px;
    background: #fff;
}
.agac > summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    cursor: pointer;
    list-style: none;
    font-size: 14.5px;
}
.agac > summary::-webkit-details-marker { display: none; }
.agac > summary::before {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--metin-3);
    border-bottom: 2px solid var(--metin-3);
    transform: rotate(-45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.agac[open] > summary::before { transform: rotate(45deg); }
.agac > summary:hover { background: #fafcfd; }
.agac[open] > summary { border-bottom: 1px solid var(--cizgi); background: #fafcfd; }
.agac-kod { font-weight: 700; color: var(--mavi-koyu); min-width: 74px; white-space: nowrap; }
.agac-ad { flex: 1; font-weight: 600; color: var(--lacivert); min-width: 0; }
.agac-bilgi { font-size: 12.5px; color: var(--metin-3); white-space: nowrap; }
.agac-icerik { padding: 12px 16px 14px 36px; }
.ders-kademe { border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); margin-bottom: 8px; background: #fff; }
.ders-kademe > summary { display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; font-weight: 600; color: var(--lacivert); }
.ders-kademe > summary .kademe-hepsi { margin-left: auto; font-weight: 500; }
.ders-kademe > .onay-listesi { padding: 4px 14px 12px; max-height: 260px; overflow-y: auto; }
.konu-listesi { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.konu-listesi li { padding: 4px 10px; border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); background: var(--zemin-acik, #f7f9fa); font-size: 13px; color: var(--metin-2); }
.ust-bosluk { margin-top: 16px; }
.agac-icerik .tanim-tablosu th { color: var(--mavi-koyu); }
.etiket-listesi { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.bilesen-satiri { padding: 8px 0; border-bottom: 1px dashed var(--cizgi); font-size: 14px; }
.bilesen-satiri:last-child { border-bottom: 0; }
.bilesen-satiri ul { margin: 6px 0 0; padding-left: 20px; color: var(--metin-2); }
.bilesen-satiri li { margin: 2px 0; }
.dar-kart { max-width: 560px; }
.satir-ici { display: inline; }
.onay-listesi { display: flex; flex-wrap: wrap; gap: 10px 20px; padding: 10px 12px; border: 1px solid var(--cizgi-koyu); border-radius: var(--yaricap-k); background: #fff; }
.dosya-secici { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; max-width: 100%; position: relative; }
.dosya-secici input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.dosya-secici .dosya-adi { font-size: 13.5px; color: var(--metin-2); max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dosya-secici:focus-within .dugme { outline: 2px solid var(--mavi-acik); outline-offset: 2px; }

.secenek-yan { display: flex; align-items: center; gap: 6px; padding-top: 6px; }
.eksik-listesi { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--metin); font-size: 14px; }
[data-ins] img { outline: 2px solid currentColor; outline-offset: 2px; }
[data-del] img { opacity: 0.45; outline: 2px dashed currentColor; outline-offset: 2px; }
.temiz-gorunum [data-ins] img { outline: 0; }
.soru-karti.rol-yazar { border-left-color: var(--rol-yazar); }
.soru-karti.rol-koordinator { border-left-color: var(--rol-koordinator); }
.soru-karti.rol-olcme { border-left-color: var(--rol-olcme); }
.soru-karti.rol-admin { border-left-color: var(--rol-admin); }
.secenek.rol-yazar .secenek-harf { border-color: var(--rol-yazar); }
.secenek.rol-koordinator .secenek-harf { border-color: var(--rol-koordinator); }
.secenek.rol-olcme .secenek-harf { border-color: var(--rol-olcme); }
.alan-degisiklik { padding: 6px 10px; border-radius: var(--yaricap-k); background: var(--vurgu-zemin); margin-top: 2px; }
.alan-degisiklik.rol-koordinator .alan-degisiklik-eski, .alan-degisiklik.rol-koordinator .alan-degisiklik-yeni { color: var(--rol-koordinator); }
.alan-degisiklik.rol-olcme .alan-degisiklik-eski, .alan-degisiklik.rol-olcme .alan-degisiklik-yeni { color: var(--rol-olcme); }
.alan-degisiklik.rol-yazar .alan-degisiklik-eski, .alan-degisiklik.rol-yazar .alan-degisiklik-yeni { color: var(--rol-yazar); }
.alan-degisiklik.rol-admin .alan-degisiklik-eski, .alan-degisiklik.rol-admin .alan-degisiklik-yeni { color: var(--rol-admin); }
.temiz-gorunum .alan-degisiklik { display: none; }
.icerik-tablosu { border-collapse: collapse; margin: 8px 0; }
.icerik-tablosu td { border: 1px solid #b9c3cb; padding: 5px 10px; vertical-align: top; }
mark { background: rgba(214, 137, 16, 0.25); color: inherit; padding: 0 1px; border-radius: 2px; }

/* Karşılaştırma içerik parçaları */
.fark-secimi { display: flex; gap: 16px; flex-wrap: wrap; }
.fark-secimi .alan { min-width: 260px; }
.kar-soru { display: flex; flex-direction: column; gap: 4px; }
.kar-etiket { font-size: 12px; font-weight: 700; color: var(--metin-3); margin-top: 8px; letter-spacing: 0.3px; }
.kar-etiket:first-child { margin-top: 0; }
.kar-alt { font-size: 13px; color: var(--metin-2); }
.kar-secenekler { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.kar-secenek { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; align-items: start; }
.kar-secenek .kar-harf { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--cizgi-koyu); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--metin-2); }
.kar-secenek.dogru .kar-harf { background: var(--yesil); border-color: var(--yesil); color: #fff; }
.kar-secenek.secenek-silindi { opacity: 0.6; text-decoration: line-through; }
.kar-secenek.secenek-eklendi .kar-harf { box-shadow: 0 0 0 2px currentColor; }
.kar-secenek.rol-koordinator { color: var(--rol-koordinator); }
.kar-secenek.rol-olcme { color: var(--rol-olcme); }
.kar-secenek.rol-yazar { color: var(--rol-yazar); }
.kar-secenek.rol-admin { color: var(--rol-admin); }
.kar-kunye th { width: 40%; font-size: 13px; }
.kar-kunye td { font-size: 13.5px; }
.karsilastirma-hucre.soru-silindi { background: #fbfbfb; }
.karsilastirma-hucre.soru-silindi .kar-soru { opacity: 0.6; text-decoration: line-through; }
.karsilastirma-hucre.soru-eklendi { box-shadow: inset 3px 0 0 currentColor; }
.karsilastirma-hucre.rol-koordinator { color: var(--rol-koordinator); }
.karsilastirma-hucre.rol-olcme { color: var(--rol-olcme); }
.karsilastirma-hucre.rol-koordinator .kar-soru, .karsilastirma-hucre.rol-olcme .kar-soru { color: var(--metin); }
.karsilastirma-hucre.temiz-gorunum.soru-eklendi { box-shadow: none; }
.fark-hucre { white-space: normal; font-size: 14.5px; }
.surum-cipi.rol-yazar { color: var(--rol-yazar); }
.surum-cipi.rol-koordinator { color: var(--rol-koordinator); }
.surum-cipi.rol-olcme { color: var(--rol-olcme); }
.surum-cipi.rol-admin { color: var(--rol-admin); }
.benzerlik-metni { font-size: 14px; line-height: 1.7; background: #fafbfc; border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); padding: 12px; white-space: pre-wrap; }
.form-ust-cubuk .durum-bilgisi { flex: 1 1 380px; }
.yan-panel .sekme { padding: 10px 9px; font-size: 13.5px; }
.yan-panel .sekmeler { flex-wrap: wrap; overflow-x: visible; row-gap: 0; }

/* Soru işlem akışı */
.mini-sayaclar.akis-sayaclari { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 4px; }
.akis-sayaclari .mini-sayac { padding: 8px 10px; }
.akis-sayaclari .mini-deger { font-size: 19px; }
.akis-kisileri td { vertical-align: top; }
.akis-kisileri .rol-etiket { font-weight: 600; }
.islem-akisi { list-style: none; margin: 4px 0 0; padding: 0; position: relative; }
.akis-adim { position: relative; display: flex; gap: 12px; padding: 0 0 14px; }
.akis-adim::before { content: ''; position: absolute; left: 5px; top: 14px; bottom: 0; width: 2px; background: var(--cizgi); }
.akis-adim:last-child::before { display: none; }
.akis-isaret { flex-shrink: 0; width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; background: var(--gri); box-shadow: 0 0 0 3px #fff; position: relative; }
.akis-adim.rol-yazar .akis-isaret { background: var(--rol-yazar); }
.akis-adim.rol-koordinator .akis-isaret { background: var(--rol-koordinator); }
.akis-adim.rol-olcme .akis-isaret { background: var(--rol-olcme); }
.akis-adim.rol-admin .akis-isaret { background: var(--rol-admin); }
.akis-adim.akis-durum .akis-isaret, .akis-adim.akis-ekip .akis-isaret { background: #fff; border: 2px solid var(--gri); }
.akis-adim-govde { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; font-size: 13.5px; }
.akis-kisi { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; color: var(--lacivert); }
.akis-kisi .rol-etiket { font-size: 12px; }
.akis-eylem { color: var(--metin); }
.akis-durum .akis-eylem, .akis-ekip .akis-eylem { color: var(--metin-2); font-weight: 600; }
.akis-ekip-satiri { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: 13px; }
.akis-ekip-satiri .soluk { min-width: 92px; font-size: 12.5px; }
.akis-not { font-size: 13px; color: var(--metin-2); background: var(--zemin); border-radius: var(--yaricap-k); padding: 6px 9px; white-space: pre-wrap; }
.akis-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 2px; }
.akis-meta .rozet { padding: 1px 7px; font-size: 11.5px; }
.degisim-cubugu { display: inline-block; width: 56px; height: 6px; border-radius: 3px; background: var(--cizgi); overflow: hidden; }
.degisim-cubugu span { display: block; height: 100%; border-radius: 3px; background: var(--mavi-koyu); }
.degisim-metni { font-size: 12.5px; font-weight: 600; color: var(--mavi-koyu); font-variant-numeric: tabular-nums; }
.akis-pdf { font-size: 12.5px; margin-left: auto; }

/* Deneme sınavı */
/* Sınav adım çubuğu: tamamlanan yeşil, bulunulan lacivert, bekleyen gri */
.adim-cubugu { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.adim-cubugu li > a,
.adim-cubugu li > span { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--yaricap); background: #fff; box-shadow: var(--golge-hafif); border-top: 4px solid var(--cizgi-koyu); color: var(--metin-2); text-decoration: none; height: 100%; }
.adim-cubugu .adim-no { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; background: var(--zemin); color: var(--metin-2); }
.adim-cubugu .adim-ad { font-weight: 600; font-size: 14px; }
.adim-cubugu .adim-tamam > a { border-top-color: var(--yesil); color: var(--metin); }
.adim-cubugu .adim-tamam .adim-no { background: var(--yesil); color: #fff; }
.adim-cubugu .adim-aktif > a,
.adim-cubugu .adim-aktif > span { border-top-color: var(--lacivert); color: var(--lacivert); }
.adim-cubugu .adim-aktif .adim-no { background: var(--lacivert); color: #fff; }
.adim-cubugu li > a:hover { box-shadow: 0 6px 14px rgba(0, 0, 0, 0.1); }
@media (max-width: 900px) { .adim-cubugu { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.sinav-ders-tablosu .test-girdi { min-width: 220px; }
.sinav-ders-tablosu .soru-girdi { width: 90px; text-align: right; }
.sinav-ders-tablosu tr.pasif-satir td { color: var(--metin-3); }
.sinav-ders-tablosu tr.pasif-satir .test-girdi { color: var(--metin-3); }
.test-ozeti { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
.test-cipi { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 16px; background: var(--zemin); border: 1px solid var(--cizgi); font-size: 13.5px; color: var(--metin); text-decoration: none; }
.test-cipi strong { color: var(--lacivert); font-variant-numeric: tabular-nums; }
.test-cipi.tamam { border-color: var(--yesil); background: var(--yesil-zemin); }
a.test-cipi:hover { border-color: var(--mavi); }
.belirtke-ust { position: sticky; top: 0; z-index: 6; }
.yesil-yazi { color: var(--yesil-koyu); font-weight: 700; }
.turuncu-yazi { color: #9a6408; font-weight: 700; }
.kitapcik-indir .onay-kutusu { margin-right: 16px; }
.optik-izgara { grid-template-columns: minmax(320px, 2fr) minmax(0, 3fr); align-items: start; }
.optik-satir { width: 90px; text-align: right; }
.ogrenci-yukle { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; padding: 12px; border: 1px dashed var(--cizgi-koyu); border-radius: var(--yaricap-k); background: #fafbfc; }
.dosya-sec { position: relative; overflow: hidden; cursor: pointer; }
.dosya-sec input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ogrenci-yukle .dosya-adi { flex: 1; min-width: 0; color: var(--metin-2); font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ogrenci-listesi { max-height: 520px; overflow-y: auto; }
.anahtar-tablosu th.anahtar-test { background: var(--mavi-koyu); }
@media (max-width: 1100px) { .optik-izgara { grid-template-columns: minmax(0, 1fr); } }
.adim-sekmeleri { background: #fff; border-radius: var(--yaricap); padding: 0 12px; box-shadow: var(--golge-hafif); margin-bottom: 20px; }
.belirtke-tablosu .belirtke-grup td { background: var(--vurgu-zemin) !important; font-weight: 700; color: var(--mavi-koyu); font-size: 13px; }
.belirtke-tablosu .belirtke-hucre { white-space: nowrap; }
.belirtke-tablosu .havuz-sayisi { display: inline-block; min-width: 22px; margin-left: 4px; font-size: 11.5px; color: var(--metin-3); font-variant-numeric: tabular-nums; }
.belirtke-tablosu tfoot td.eksik { color: var(--kirmizi-koyu); }
.belirtke-tablosu tfoot td.tamam { color: var(--yesil-koyu); }
.sayi-girdi { width: 90px; }
.sinav-seti { border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); padding: 12px 14px; margin-bottom: 12px; }
.sinav-sorulari { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.sinav-sorusu { display: flex; align-items: center; gap: 10px; padding: 5px 6px; border-radius: var(--yaricap-k); }
.sinav-sorusu:hover { background: var(--vurgu-zemin); }
.sinav-sorusu:not(.dahil) { opacity: 0.6; }
.sinav-soru-dugme { width: 22px; height: 22px; border-radius: 4px; border: 1.5px solid var(--cizgi-koyu); background: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #fff; padding: 0; }
.sinav-sorusu.dahil .sinav-soru-dugme { background: var(--yesil); border-color: var(--yesil); }
.anahtar-tablosu td, .anahtar-tablosu th { padding: 6px 4px; min-width: 28px; }
.sekmeler-gomulu { margin: 0; border: 0; }
.sonuc-ornek { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 4px; font-weight: 700; font-size: 12px; margin: 0 4px 0 10px; }
.sonuc-ornek.dogru { background: var(--yesil-zemin); color: var(--yesil-koyu); }
.sonuc-ornek.yanlis { background: var(--kirmizi-zemin); color: var(--kirmizi-koyu); }
.sonuc-ornek.gecersiz { background: var(--turuncu-zemin); color: #9a6408; }
.sonuc-izgara td.ozet { padding: 0 8px; text-align: center; font-weight: 700; font-size: 12.5px; color: var(--metin-2); background: var(--vurgu-zemin); }
.sonuc-izgara td.ozet-d { color: var(--yesil-koyu); }
.sonuc-izgara td.ozet-y { color: var(--kirmizi-koyu); }
.sonuc-izgara td.ozet-net { color: var(--lacivert); }
.sonuc-izgara td.gecersiz input { background: var(--turuncu-zemin); }
.optik-cevap { font-family: Consolas, 'Courier New', monospace; font-size: 12.5px; letter-spacing: 1px; }
.sonuc-izgara td.metin input { text-transform: none; text-align: left; padding-left: 8px; font-weight: 400; }

/* Raporlar */
.rapor-kartlari { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.rapor-karti { justify-content: center; min-height: 76px; }
.rapor-karti .simge { color: var(--mavi); }
.celdirici-tablosu { border-collapse: collapse; }
.celdirici-tablosu td { border: 1px solid var(--cizgi) !important; padding: 3px 7px !important; text-align: center; font-size: 12px; min-width: 42px; font-variant-numeric: tabular-nums; }
.celdirici-tablosu td.dogru { background: var(--yesil-zemin); color: var(--yesil-koyu); }
.madde-analizi td { vertical-align: middle; }
.isi-haritasi td.isi-0 { background: #cde2fb; }
.isi-haritasi td.isi-1 { background: #9ec5f4; }
.isi-haritasi td.isi-2 { background: #6da7ec; }
.isi-haritasi td.isi-3 { background: #3987e5; color: #fff; }
.isi-haritasi td.isi-4 { background: #256abf; color: #fff; }
.isi-haritasi td.isi-5 { background: #184f95; color: #fff; }
.isi-haritasi td.isi-6 { background: #0d366b; color: #fff; }
.isi-haritasi td.bos-hucre { background: #fafbfc; }
.kapsama-tablosu td a.kapsama-bag { display: block; margin: -8px -10px; padding: 8px 10px; color: inherit; text-decoration: none; font-weight: 700; }
.kapsama-tablosu td a.kapsama-bag:hover { text-decoration: underline; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.7); }
.kapsama-tablosu .kapsama-grup td { background: var(--vurgu-zemin); font-weight: 700; color: var(--mavi-koyu); }
.karne-cubuk { display: inline-block; width: 90px; height: 8px; border-radius: 4px; background: var(--cizgi); overflow: hidden; vertical-align: middle; margin-right: 8px; }
.karne-cubuk span { display: block; height: 100%; background: #2471a3; border-radius: 4px; }
.karne-cevaplar td.dogru { background: var(--yesil-zemin); color: var(--yesil-koyu); font-weight: 700; }
.karne-cevaplar td.yanlis { background: var(--kirmizi-zemin); color: var(--kirmizi-koyu); font-weight: 700; }
.karne-cevaplar th, .karne-cevaplar td { padding: 5px 4px !important; min-width: 26px; }
.bilesen-kod { font-weight: 700; color: var(--lacivert); margin-right: 6px; }
.isi-haritasi td:first-child { text-align: left; }

/* ---------------------------------------------------------------
   Süreç ekranı
   --------------------------------------------------------------- */

.surec-akisi { list-style: none; margin: 4px 0 12px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.surec-akisi li { position: relative; }
.surec-akisi li + li::before {
    content: '';
    position: absolute;
    left: -12px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--cizgi-koyu);
    border-right: 2px solid var(--cizgi-koyu);
    transform: translateY(-50%) rotate(45deg);
}
.surec-adimi {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "no ad" "sayi sayi" "rol rol";
    gap: 4px 10px;
    height: 100%;
    padding: 14px 16px;
    border: 1px solid var(--cizgi);
    border-top: 4px solid var(--mavi);
    border-radius: var(--yaricap);
    background: #fff;
    color: var(--metin);
}
.surec-adimi:hover { color: var(--metin); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08); }
.surec-adim-no { grid-area: no; width: 24px; height: 24px; border-radius: 50%; background: var(--zemin); color: var(--lacivert); font-size: 12.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.surec-adim-ad { grid-area: ad; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; color: var(--lacivert); }
.surec-adim-sayi { grid-area: sayi; font-size: 30px; font-weight: 700; color: var(--lacivert); line-height: 1.1; font-variant-numeric: tabular-nums; }
.surec-adim-rol { grid-area: rol; font-size: 12.5px; color: var(--metin-2); }
.adim-yazar { border-top-color: var(--rol-yazar); }
.adim-koordinator { border-top-color: var(--rol-koordinator); }
.adim-admin { border-top-color: var(--rol-admin); }
.adim-havuz { border-top-color: var(--yesil); }

.rol-ekranlari { margin-bottom: 20px; }
.rol-ekrani { display: flex; flex-direction: column; gap: 14px; border-top: 4px solid var(--mavi); }
.ekran-yazar { border-top-color: var(--rol-yazar); }
.ekran-koordinator { border-top-color: var(--rol-koordinator); }
.ekran-olcme { border-top-color: var(--rol-olcme); }
.ekran-admin { border-top-color: var(--rol-admin); }
.rol-ekrani-ust { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cizgi); }
.rol-ekrani-simge { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #fff; flex: 0 0 auto; }
.rol-zemin-yazar { background: var(--rol-yazar); }
.rol-zemin-koordinator { background: var(--rol-koordinator); }
.rol-zemin-olcme { background: var(--rol-olcme); }
.rol-zemin-admin { background: var(--rol-admin); }
.rol-ekrani-baslik { font-size: 17px; font-weight: 700; color: var(--lacivert); }
.rol-ekrani-alt { font-size: 13px; color: var(--metin-2); margin-top: 2px; }
.mini-sayaclar { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.mini-sayac { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--yaricap-k); background: var(--zemin); }
.mini-etiket { font-size: 12.5px; color: var(--metin-2); font-weight: 600; }
.mini-deger { font-size: 22px; font-weight: 700; color: var(--lacivert); font-variant-numeric: tabular-nums; line-height: 1.2; }
.mini-alt { font-size: 12px; color: var(--metin-3); }
.rol-ekrani .tablo { margin: 0; }
.rol-ekrani .bos-durum { padding: 18px; }
.rol-ekrani-alt-cubuk { margin-top: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--cizgi); }
.rol-ekrani-alt-cubuk > span { margin-right: auto; }
.alan-dagilimi td a { color: var(--lacivert); font-weight: 600; }
.alan-dagilimi .secili-satir td { background: var(--vurgu-zemin); }
.alan-dagilimi .eksik-hucre { color: var(--kirmizi); font-weight: 700; }

/* Kademe kartları ve kademe ekranı */
.kademe-kartlari { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.kademe-karti {
    --kademe: var(--mavi);
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px;
    border-radius: var(--yaricap);
    border-top: 5px solid var(--kademe);
    background: #fff;
    box-shadow: var(--golge);
    color: var(--metin);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.kademe-karti:hover { color: var(--metin); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12); transform: translateY(-2px); }
.kademe-karti:focus-visible { outline: 3px solid var(--mavi-acik); outline-offset: 3px; }
.kademe-ilkokul { --kademe: var(--mavi); }
.kademe-ortaokul { --kademe: var(--mavi-koyu); }
.kademe-lise { --kademe: var(--lacivert); }
.kademe-karti-ust { display: flex; align-items: center; gap: 14px; }
.kademe-amblem {
    flex: 0 0 auto;
    min-width: 64px;
    height: 64px;
    padding: 0 10px;
    border-radius: 14px;
    background: var(--kademe);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.kademe-adi { font-size: 24px; font-weight: 700; color: var(--lacivert); line-height: 1.2; }
.kademe-alt { font-size: 13.5px; color: var(--metin-2); margin-top: 3px; }
.kademe-ok { color: var(--metin-3); transition: color 0.15s ease, transform 0.15s ease; }
.kademe-karti:hover .kademe-ok { color: var(--kademe); transform: translateX(3px); }
.kademe-sureci { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.kademe-sureci li { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px 8px; border-radius: var(--yaricap-k); background: var(--zemin); border-top: 3px solid var(--mavi); text-align: center; }
.kademe-sureci li.adim-yazar { border-top-color: var(--rol-yazar); }
.kademe-sureci li.adim-koordinator { border-top-color: var(--rol-koordinator); }
.kademe-sureci li.adim-admin { border-top-color: var(--rol-admin); }
.kademe-sureci li.adim-havuz { border-top-color: var(--yesil); }
.kademe-surec-sayi { font-size: 22px; font-weight: 700; color: var(--lacivert); line-height: 1.1; font-variant-numeric: tabular-nums; }
.kademe-sureci li.bos .kademe-surec-sayi { color: var(--metin-3); }
.kademe-surec-ad { font-size: 11.5px; font-weight: 600; color: var(--metin-2); line-height: 1.25; }
.kademe-kisileri { display: flex; flex-wrap: wrap; gap: 6px 16px; padding-top: 14px; border-top: 1px solid var(--cizgi); font-size: 13px; }
.kademe-kisileri .rol-etiket { color: var(--metin-2); font-weight: 500; }
.kademe-kisileri strong { color: var(--lacivert); font-variant-numeric: tabular-nums; }
.kademe-uyarilari { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
/* Yönetici süreç ekranı: beş aşama yan yana, yalnızca sayı ve ad */
.surec-sekmeleri { margin-bottom: 16px; }
.surec-sade { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.surec-sade-adim { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: var(--yaricap); background: #fff; box-shadow: var(--golge); border-top: 4px solid var(--mavi); color: var(--metin); text-decoration: none; }
.surec-sade-adim:hover { color: var(--metin); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12); }
.surec-sade-adim.secili { outline: 2px solid var(--lacivert); outline-offset: -2px; }
.surec-sade-adim.asama-taslak { border-top-color: var(--gri); }
.surec-sade-adim.asama-uzman_incelemesi { border-top-color: var(--rol-koordinator); }
.surec-sade-adim.asama-yazar_duzeltmesi { border-top-color: var(--rol-yazar); }
.surec-sade-adim.asama-admin_degerlendirmesi { border-top-color: var(--rol-admin); }
.surec-sade-adim.asama-onaylandi { border-top-color: var(--yesil); }
.surec-sade-sayi { font-size: 30px; font-weight: 700; color: var(--lacivert); line-height: 1.1; font-variant-numeric: tabular-nums; }
.surec-sade-ad { font-size: 14px; font-weight: 600; color: var(--metin-2); }
@media (max-width: 1000px) { .surec-sade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Yönetici ana sayfası: kademe ve ders kartlarında aşama listesi */
.asama-listesi { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.asama-listesi li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-radius: var(--yaricap-k); background: var(--zemin); border-left: 4px solid var(--mavi); }
.asama-listesi li > a { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: inherit; text-decoration: none; margin: -8px -12px; padding: 8px 12px; border-radius: inherit; }
.asama-listesi li > a:hover { background: #e2e8eb; }
.asama-listesi .asama-taslak { border-left-color: var(--gri); }
.asama-listesi .asama-uzman_incelemesi { border-left-color: var(--rol-koordinator); }
.asama-listesi .asama-yazar_duzeltmesi { border-left-color: var(--rol-yazar); }
.asama-listesi .asama-admin_degerlendirmesi { border-left-color: var(--rol-admin); }
.asama-listesi .asama-onaylandi { border-left-color: var(--yesil); }
.asama-listesi .asama-reddedildi { border-left-color: var(--kirmizi); }
.asama-ad { font-size: 14px; font-weight: 600; color: var(--metin-2); }
.asama-sayi { font-size: 20px; font-weight: 700; color: var(--lacivert); font-variant-numeric: tabular-nums; }
.asama-listesi li.bos .asama-sayi { color: var(--metin-3); }
.asama-sayi.asama-sure { font-size: 15px; }
.uzman-cipleri { display: flex; flex-wrap: wrap; gap: 6px; }
.uzman-cipi { display: inline-flex; align-items: center; gap: 6px; padding: 3px 4px 3px 10px; border-radius: 14px; background: var(--zemin); border: 1px solid var(--cizgi); font-size: 13px; }
.uzman-cipi strong { min-width: 22px; padding: 1px 6px; border-radius: 10px; background: #fff; color: var(--lacivert); font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.asama-tablosu td { vertical-align: middle; }
.asama-tablosu td:first-child { min-width: 190px; }
.atama-modu { display: flex; align-items: center; gap: 10px; }
.atama-modu-etiket { color: #d6e4ee; font-size: 13px; font-weight: 600; }
.atama-modu .secim-grubu { background: #fff; }
.atama-tablosu tr.atama-eksik td { background: var(--turuncu-zemin); }
.atama-tablosu .secim-kucuk { min-width: 210px; }
.bosluk-ust-kucuk { margin-top: 4px; display: inline-block; }
.tarih-girdi { width: 150px; padding: 7px 10px; }
.islem-kisi a { color: var(--metin); }
.kademe-toplami { border-top: 5px solid var(--kademe, var(--mavi)); }
.kademe-toplami .asama-listesi { flex-direction: row; flex-wrap: wrap; }
.kademe-toplami .asama-listesi li { flex: 1 1 180px; }
/* Ana sayfa: seçili kademe kartı ve altındaki ders tablosu */
.kademe-karti.secili { box-shadow: 0 0 0 2px var(--kademe), var(--golge); }
.kademe-karti.secili .kademe-adi { color: var(--kademe); }
.kademe-tablosu { border-top: 5px solid var(--kademe, var(--mavi)); }
.kademe-ders-suzgeci { display: flex; align-items: center; gap: 10px; }
.kademe-ders-suzgeci .acilir-liste { width: 300px; }
/* Özet tablosu: satır geçişleri belirgin, sıfırlar soluk */
.ozet-tablosu tbody tr:nth-child(odd) { background: #fff; }
.ozet-tablosu tbody tr:nth-child(even) { background: #eef2f5; }
.ozet-tablosu tbody tr:hover { background: #dfe9f1; }
.ozet-tablosu tbody td { border-bottom: 1px solid #c9d1d8; }
.ozet-tablosu td.sayi { font-size: 16px; font-weight: 700; color: var(--lacivert); }
.ozet-tablosu td.sayi a { color: inherit; text-decoration: none; }
.ozet-tablosu td.sayi a:hover { color: var(--mavi); text-decoration: underline; }
.ozet-tablosu td.sifir { color: var(--metin-3); font-weight: 600; }
.ozet-tablosu th.sayi { white-space: normal; min-width: 120px; }
.ders-kartlari { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.ders-karti { display: flex; flex-direction: column; gap: 14px; padding: 18px; border-radius: var(--yaricap); border-top: 4px solid var(--kademe, var(--mavi)); background: #fff; box-shadow: var(--golge); }
.ders-karti-ad { font-size: 18px; font-weight: 700; color: var(--lacivert); text-decoration: none; }
.ders-karti-ad:hover { color: var(--mavi); }
@media (max-width: 1200px) { .ders-kartlari { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .ders-kartlari { grid-template-columns: minmax(0, 1fr); } }
.kademe-ust-cubuk { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; border-bottom: 2px solid var(--cizgi); }
.kademe-sekmeleri { border-bottom: 0; overflow: visible; flex-wrap: wrap; }
.kademe-sekmeleri .sekme { font-size: 15px; }
.kademe-sekmeleri .sekme { text-decoration: none; }
.kademe-ust-cubuk .satir-ici { padding-bottom: 6px; }

@media (max-width: 1200px) {
    .surec-akisi { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .surec-akisi li + li::before { display: none; }
    .kademe-kartlari { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
    .surec-akisi { grid-template-columns: minmax(0, 1fr); }
    .kademe-sureci { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.normal-agirlik { font-weight: 400; }

/* Ana sayfa kartları */
.ana-kartlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.ana-kart {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 88px;
    padding: 18px 20px;
    border-radius: var(--yaricap);
    border-left: 4px solid var(--lacivert);
    background: #fff;
    box-shadow: var(--golge);
    color: var(--lacivert);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.ana-kart:hover { color: var(--lacivert); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12); transform: translateY(-2px); }
.ana-kart-simge { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--zemin); color: var(--lacivert); }
.ana-kart-ad { flex: 1; font-size: 16px; font-weight: 700; line-height: 1.3; }
.ana-kart-sayi { font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lacivert); }
.ana-kart-birincil { border-left-color: var(--mavi); }
.ana-kart-birincil .ana-kart-simge { background: var(--mavi); color: #fff; }
.ana-kart-uyari { border-left-color: var(--turuncu); }
.ana-kart-uyari .ana-kart-sayi { color: var(--turuncu); }
@media (max-width: 1100px) { .ana-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ana-kartlar { grid-template-columns: minmax(0, 1fr); } }

/* Özet sayıları */
.ozet-sayilari { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.ozet-sayilari > .ozet-sayi { flex: 0 0 330px; }
.ozet-sayilari > .ozet-uniteler { flex: 1 1 380px; justify-content: center; gap: 6px; }
.ozet-unite { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--lacivert); }
.ozet-unite-sayi { flex: 0 0 auto; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .ozet-sayilari > .ozet-sayi { flex: 1 1 100%; } }
.ozet-sayi { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; border-radius: var(--yaricap); border-left: 4px solid var(--lacivert); background: #fff; box-shadow: var(--golge); }
.ozet-sayi-etiket { font-size: 14px; font-weight: 600; color: var(--metin-2); }
.ozet-sayi-deger { font-size: 34px; font-weight: 700; line-height: 1.1; color: var(--lacivert); font-variant-numeric: tabular-nums; }
.tablo tfoot td { border-top: 2px solid var(--cizgi-koyu); background: var(--vurgu-zemin); }

/* Akordiyon tablo */
.akordiyon-satir { cursor: pointer; }
.akordiyon-satir:hover td { background: var(--vurgu-zemin); }
.akordiyon-satir:focus-visible { outline: 2px solid var(--mavi-acik); outline-offset: -2px; }
.akordiyon-satir.acik td { background: #eaf3fb; font-weight: 600; }
.akordiyon-alt > td { padding: 0 0 0 24px !important; background: #f7fafc !important; border-left: 3px solid var(--mavi); }
.akordiyon-tablo { margin: 0; box-shadow: none; }
.akordiyon-tablo thead th { background: var(--lacivert-2); font-size: 12.5px; }

/* Sıralanabilir tablo başlıkları */
.tablo th.siralanir a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.tablo th.siralanir a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tablo th.sayi.siralanir a { flex-direction: row-reverse; }
.tablo th.sirali a::after { content: ''; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; }
.tablo th.sirali.artan a::after { border-bottom: 5px solid currentColor; }
.tablo th.sirali.azalan a::after { border-top: 5px solid currentColor; }
.liste-suzgeci { background: #fff; padding: 14px 16px; border-radius: var(--yaricap); box-shadow: var(--golge-hafif, var(--golge)); }

/* Soru aşamaları: ders uzmanları */
.uzman-havuzu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.uzman-havuzu-sutun { border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 16px; background: #fbfcfd; min-width: 0; }
.uzman-havuzu-baslik { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 700; color: var(--lacivert); margin-bottom: 12px; }
.uzman-ekle { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }
.uzman-ekle .acilir-liste, .uzman-ekle select { flex: 1; min-width: 0; }
.uzman-secilenler { display: flex; flex-wrap: wrap; gap: 8px; }
.uzman-secili { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 4px 4px 4px 12px; border-radius: 16px; background: #fff; border: 1px solid var(--cizgi); font-size: 13px; }
.uzman-secili-is { min-width: 22px; padding: 1px 6px; border-radius: 10px; background: var(--zemin); color: var(--lacivert); font-size: 12px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; }
.uzman-cikar { width: 24px; height: 24px; border: 0; border-radius: 50%; background: transparent; color: var(--gri); font-size: 17px; line-height: 1; cursor: pointer; padding: 0; }
.uzman-cikar:hover, .uzman-cikar:focus-visible { background: var(--kirmizi-zemin); color: var(--kirmizi); }
.atama-eylemleri { display: flex; gap: 6px; justify-content: flex-end; }
.atama-eylemleri form { margin: 0; }
@media (max-width: 900px) { .uzman-havuzu { grid-template-columns: 1fr; } }

/* Müfredat */
.mufredat-tablosu tr.pasif-satir td { color: var(--metin-3); }
.ders-kodu { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--zemin); border: 1px solid var(--cizgi); color: var(--lacivert); font-size: 12px; font-weight: 700; letter-spacing: .3px; vertical-align: middle; }
.kart-baslik .ders-kodu { margin-left: 6px; }
.kart-baslik .rozet { margin-left: 6px; vertical-align: middle; }
.mufredat-aktarim { display: flex; justify-content: flex-end; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cizgi); }
.mufredat-bolum-ust { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.mufredat-bolum-ust .sekmeler { flex: 1; margin-bottom: 0; min-width: 0; }
.mufredat-bolum-ust > .dugme { margin-bottom: 8px; flex-shrink: 0; }
.agac-eylemler { display: inline-flex; gap: 6px; margin-left: 8px; flex-shrink: 0; }
.agac > summary .agac-eylemler .dugme { min-height: 28px; padding: 3px 10px; }
.mufredat-kod-sutun { width: 130px; }
.bilesen-satiri-ust { display: flex; align-items: flex-start; gap: 12px; }
.satir-eylemleri { display: inline-flex; gap: 6px; flex-shrink: 0; }
.bilesen-ekle { padding-top: 10px; }
.form-izgara-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cikti-secimi { display: flex; flex-direction: column; gap: 2px; max-height: 260px; overflow-y: auto; border: 1px solid var(--cizgi); border-radius: 6px; padding: 8px 10px; background: #fbfcfd; }
.cikti-secimi .onay-kutusu { align-items: flex-start; padding: 5px 4px; border-bottom: 1px dashed var(--cizgi); }
.cikti-secimi .onay-kutusu:last-child { border-bottom: 0; }
.cikti-secimi .onay-kutusu input { margin-top: 3px; }
.cikti-secimi strong { color: var(--mavi-koyu); margin-right: 4px; }
@media (max-width: 900px) {
    .form-izgara-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mufredat-bolum-ust { flex-direction: column; align-items: stretch; }
    .agac-eylemler { margin-left: 0; }
}
details.kart-acilir > summary { list-style: none; cursor: pointer; margin-bottom: 0; }
details.kart-acilir > summary::-webkit-details-marker { display: none; }
details.kart-acilir > summary .kart-baslik::after { content: ''; display: inline-block; width: 7px; height: 7px; margin-left: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); vertical-align: middle; transition: transform .15s; }
details.kart-acilir[open] > summary .kart-baslik::after { transform: rotate(45deg); }
details.kart-acilir[open] > summary { margin-bottom: 16px; }
.acilir-panel.acilir-sabit { position: fixed; right: auto; z-index: 1200; }
.kullanici-raporu tfoot th { background: #dfe6ec; color: var(--lacivert); font-size: 15px; border-top: 2px solid var(--lacivert); padding: 12px; }
.kullanici-raporu tfoot th.sayi { text-align: right; font-variant-numeric: tabular-nums; }
.kullanici-raporu tbody tr.secili-satir td { background: #d4e6f3; }
.kullanici-raporu td.kucuk { color: var(--metin-2); max-width: 260px; }
.rapor-suzgeci { flex-wrap: wrap; justify-content: flex-end; }
.rapor-suzgeci .acilir-liste:not(.acilir-kucuk) { width: 240px; }
.kullanici-raporu thead th { white-space: nowrap; }
.kullanici-raporu thead th.grup-basligi { text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.25); border-left: 1px solid rgba(255, 255, 255, 0.18); font-size: 12px; letter-spacing: .4px; text-transform: uppercase; padding-top: 8px; padding-bottom: 8px; }
.kullanici-raporu thead tr:nth-child(2) th { font-size: 12.5px; }
.kullanici-raporu tbody td:first-child { min-width: 230px; }
.kullanici-raporu .ders-kodu { margin: 1px 2px 1px 0; }
.kullanici-raporu th, .kullanici-raporu td { padding: 10px 10px; }
.kullanici-raporu td.sayi { font-size: 15px; min-width: 64px; }
.kullanici-raporu tbody td:first-child { min-width: 190px; }
.kullanici-raporu tbody td:nth-child(2) { max-width: 180px; line-height: 1.9; }
.kullanici-raporu th.sayi { min-width: 0; }
.kullanici-raporu thead tr:nth-child(2) th { font-size: 12px; padding: 8px 10px; }
/* Soru aşamaları: derslerin kişileri */
.kisi-ekle-satiri { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: 10px; align-items: center; padding: 14px 16px; margin-bottom: 16px; background: #f4f7f9; border: 1px solid var(--cizgi); border-radius: var(--yaricap); }
.kisi-ekle-satiri .acilir-liste { min-width: 0; }
.kisi-tablosu td { vertical-align: top; }
.kisi-tablosu td:first-child { width: 190px; }
.kisi-tablosu td:nth-child(2) { width: 44%; }
.kisi-tablosu td:nth-child(3), .kisi-tablosu td:nth-child(4) { width: 23%; }
.kisi-tablosu tbody tr.secili-satir td { background: #e3eef7; }
.ders-rozeti { margin-left: 6px; text-decoration: none; vertical-align: middle; }
.kisi-listesi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.kisi-listesi-iki { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kisi-listesi li { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 4px 4px 4px 12px; background: #fff; border: 1px solid #cfd8df; border-radius: 6px; font-size: 13.5px; }
.kisi-listesi li form { margin: 0; }
.kisi-ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--metin); }
.kisi-sayi { flex-shrink: 0; color: var(--metin-3); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kisi-sayi strong { color: var(--lacivert); font-weight: 700; font-size: 12.5px; }
@media (max-width: 900px) {
    .kisi-ekle-satiri { grid-template-columns: 1fr; }
    .kisi-listesi-iki { grid-template-columns: minmax(0, 1fr); }
}
.kisi-listesi:not(.kisi-listesi-iki) .kisi-ad { white-space: normal; overflow: visible; line-height: 1.35; }
.kisi-metin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.kisi-metin .kisi-ad { flex: none; }
.kisi-metin .kisi-sayi { line-height: 1.3; }
.atama-dugmeleri button { display: block; margin: 0; padding: 8px 18px; border: 0; border-right: 1px solid var(--cizgi); background: #fff; color: var(--metin-2); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color 0.15s ease, color 0.15s ease; }
.atama-dugmeleri button:last-child { border-right: 0; }
.atama-dugmeleri button:hover { background: var(--vurgu-zemin); color: var(--lacivert); }
.atama-dugmeleri button.secili { background: var(--lacivert); color: #fff; }
.atama-dugmeleri button:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--mavi-acik); }
.kisi-baglanti { color: var(--mavi-koyu); font-weight: 600; text-decoration: none; }
.kisi-baglanti:hover { color: var(--mavi); text-decoration: underline; }
.kisi-listesi li:has(.kisi-baglanti):hover { border-color: var(--mavi-acik); }

/* Yan menü daraltma: geniş ekranda menü gizlenir, içerik tam genişliğe yayılır */
.menu-ac:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.45); }
.menu-ac:focus-visible { outline: 2px solid var(--mavi-acik); outline-offset: 2px; }
@media (min-width: 901px) {
    .yan-menu, .ana { transition: transform 0.2s ease, margin-left 0.2s ease; }
    body.menu-kapali .yan-menu { transform: translateX(-100%); box-shadow: none; }
    body.menu-kapali .ana { margin-left: 0; }
    body.menu-kapali .ust-marka { display: inline-flex; }
}
.ust-eylemler { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* Dar ekranda üst şerit: kısa logo, ekmek kırıntısı gizli, sayfa eylemleri ikinci satırda */
@media (max-width: 600px) {
    .ust-serit { flex-wrap: wrap; gap: 10px; min-height: 60px; }
    .ust-sag { display: contents; }
    .ust-marka { padding: 5px 8px; }
    .ust-marka .marka-ayrac, .ust-marka .marka-urun { display: none; }
    .ust-marka img { height: 22px; }
    .ekmek { display: none; }
    .ust-baslik h1 { font-size: 16px; }
    .ust-eylemler { order: 5; flex: 1 1 100%; justify-content: flex-start; }
    .ust-eylemler .dugme { padding: 6px 12px; font-size: 13px; }
}

/* Formül penceresi */
.formul-paleti { display: flex; flex-direction: column; gap: 8px; padding: 12px; background: #f6f8fa; border: 1px solid var(--cizgi); border-radius: var(--yaricap-k); }
.formul-grup { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.formul-grup-adi { flex: 0 0 128px; font-size: 12.5px; font-weight: 700; color: var(--metin-2); }
.formul-dugme { min-width: 34px; height: 32px; padding: 0 10px; border: 1px solid var(--cizgi-koyu); border-radius: 6px; background: #fff; color: var(--metin); font: inherit; font-size: 14px; cursor: pointer; transition: background-color 0.12s ease, border-color 0.12s ease; }
.formul-dugme:hover { background: var(--vurgu-zemin); border-color: var(--mavi-acik); color: var(--lacivert); }
.formul-dugme:focus-visible { outline: 2px solid var(--mavi-acik); outline-offset: 1px; }
.formul-girdi { font-family: Consolas, 'Courier New', monospace; font-size: 14px; min-height: 80px; }
.formul-onizleme { min-height: 84px; display: flex; align-items: center; justify-content: center; padding: 14px; border: 1px dashed var(--cizgi-koyu); border-radius: var(--yaricap-k); background: #fff; overflow-x: auto; font-size: 20px; }
.formul-onizleme svg { max-width: 100%; height: auto; }
.formul-onizleme.hatali { color: var(--kirmizi); font-size: 14px; border-color: var(--kirmizi); background: var(--kirmizi-zemin); }
@media (max-width: 600px) { .formul-grup > .formul-grup-adi { flex-basis: 100%; } }
.nesne-grup { display: inline-flex; align-items: center; gap: 2px; padding: 0 6px; margin: 0 2px; border-left: 1px solid var(--cizgi); }
.ql-editor img { max-width: 100%; height: auto; }
.kart-baslik .zorunlu { color: var(--kirmizi); margin-left: 3px; }

/* Soru sekmeleri */
.soru-sekmeleri { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0 0 12px; border-bottom: 1px solid var(--cizgi); }
.soru-sekmesi { position: relative; min-height: 34px; padding: 6px 16px; border: 1px solid var(--cizgi-koyu); border-radius: 6px; background: #fff; color: var(--metin-2); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease; }
.soru-sekmesi:hover { border-color: var(--mavi-acik); color: var(--lacivert); }
.soru-sekmesi.aktif { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.soru-sekmesi.sekme-tumu { margin-left: auto; }
.soru-sekmesi.sekme-silindi { text-decoration: line-through; color: var(--kirmizi); }
.soru-sekmesi.sekme-silindi.aktif { color: #fff; }
.soru-sekmesi.sekme-degisiklikli::after { content: ''; position: absolute; top: 5px; right: 5px; width: 7px; height: 7px; border-radius: 50%; background: var(--turuncu, #d68910); }
.soru-sekmesi:focus-visible { outline: 2px solid var(--mavi-acik); outline-offset: 2px; }
.soru-karti[hidden] { display: none !important; }

/* Yazar ekranı: geniş ekranda bağlam solda sabit, sorular sağda */
@media (min-width: 1280px) {
    .baglam-soru-duzeni.yan-yana { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
    .baglam-soru-duzeni.yan-yana > .kart { margin-bottom: 20px; }
    .baglam-soru-duzeni.yan-yana > #baglam { display: flex; flex-direction: column; }
    .baglam-soru-duzeni.yan-yana > #baglam > .editor-kap { flex: 1 1 auto; display: flex; flex-direction: column; }
    .baglam-soru-duzeni.yan-yana > #baglam > .editor-kap > .ql-container { flex: 1 1 auto; display: flex; flex-direction: column; }
    .baglam-soru-duzeni.yan-yana > #baglam > .editor-kap .ql-editor { flex: 1 1 auto; min-height: 360px; }
    .baglam-soru-duzeni.yan-yana > #baglam > .editor-kap > .ql-toolbar { position: sticky; top: 137px; z-index: 15; }
    .baglam-soru-duzeni.yan-yana .soru-sekmeleri { position: sticky; top: 137px; z-index: 20; margin: -6px -20px 14px; padding: 10px 20px 12px; background: #fff; box-shadow: 0 6px 8px -8px rgba(0, 0, 0, 0.18); }
}

/* İçerik koruması: yazar ve uzman ekranları */
.koruma-perdesi { position: fixed; inset: 0; z-index: 5000; display: flex; align-items: center; justify-content: center; background: #000; }
.koruma-perdesi[hidden] { display: none; }
.koruma-perdesi-metin { color: #e6e6e6; font-size: 18px; font-weight: 600; letter-spacing: 0.3px; }
@media print {
    body.icerik-korumasi > * { display: none !important; }
    body.icerik-korumasi::after { content: 'Bu sayfa yazdırılamaz.'; display: block; padding: 40px; font-size: 16px; color: #000; }
}

/* Benzerlik: internet taraması ve gönderim uyarısı */
.internet-tarama { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cizgi); }
.internet-ogesi { cursor: default; }
.internet-ogesi:hover { background: transparent; }
.internet-kaynak { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; margin-top: 4px; }
.internet-kaynak a, .kaynak-baglantilari a { color: var(--mavi-koyu); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.internet-parca { font-size: 12.5px; line-height: 1.5; color: var(--metin-3); margin: 2px 0 6px; overflow-wrap: anywhere; }
.kaynak-baglantilari { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; font-size: 13px; }
.benzerlik-uyari-tablosu td { vertical-align: top; }

/* Karşılaştırma: uzmanların işaretlediği cevaplar */
.kar-uzman-cevaplari { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 2px; }
.kar-uzman-cevap { display: inline-flex; align-items: center; gap: 6px; }
.kar-uzman-cevap.farkli .kalin { color: var(--kirmizi); }
