/* 2027 Sınav Takvimi — Mesai Defteri dili. Tokenlar memur.css'ten (--accent, --gold, --ink, --line…). */
.sd { padding-bottom: 8px; }
.sd-blok { margin-top: clamp(30px, 4.5vw, 52px); }
.sd-blok:first-child { margin-top: 0; }
.sd [hidden] { display: none !important; }
.sd time { font-variant-numeric: tabular-nums; }

/* Geri sayım */
.sd-geri { display: grid; grid-template-columns: auto minmax(0, 1fr); background: var(--bg-soft); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.sd-geri-sayi { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-width: 190px; padding: 22px 28px; background: var(--accent); color: var(--accent-ink); text-align: center; }
.sd-geri-sayi b { font: 800 clamp(56px, 7vw, 92px)/.9 var(--serif); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sd-geri-sayi span { font: 600 12px var(--mono); text-transform: uppercase; letter-spacing: .16em; opacity: .9; }
.sd-geri-govde { padding: 22px clamp(18px, 3vw, 34px) 20px; }
.sd-geri-baslik { margin: 0 0 4px; font: 780 clamp(28px, 3.4vw, 42px)/1.05 var(--serif); letter-spacing: -.02em; }
.sd-geri-baslik small { font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--gold-ink); vertical-align: middle; margin-left: 8px; }
.sd-geri-ad { margin: 0 0 12px; font: italic 450 15.5px/1.45 var(--serif); color: var(--ink-soft); max-width: 68ch; }
.sd-geri-tarih { margin: 0 0 16px; font: 600 clamp(16px, 1.6vw, 19px) var(--mono); color: var(--accent); }
.sd-geri-tarih a { color: var(--link); text-decoration: underline; }
.sd-geri-bilgi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px dashed var(--line-strong); }
.sd-geri-bilgi > div { padding: 12px 14px 0 0; }
.sd-geri-bilgi > div + div { padding-left: 14px; border-left: 1px solid var(--line); }
.sd-geri-bilgi dt { font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--ink-faint); }
.sd-geri-bilgi dd { margin: 3px 0 0; font: 600 15px/1.35 var(--sans); }
.sd-geri--bos { grid-template-columns: 1fr; box-shadow: var(--shadow); }

/* Öne çıkan tarihler: kupon karoları */
.sd-one { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.sd-one li { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 14px; background: var(--bg-soft); border: 1px solid var(--line-strong); border-radius: var(--radius); }
.sd-one li.is-sira { background: var(--accent-soft); box-shadow: var(--shadow); }
.sd-one li.is-gecti { opacity: .55; border-color: var(--line-strong); }
.sd-one-ad { font: 700 18px/1.15 var(--serif); letter-spacing: -.01em; }
.sd-one-tarih { font: 600 14px/1.3 var(--mono); color: var(--accent); }
.sd-one small { font: 500 12px/1.4 var(--sans); color: var(--ink-faint); margin-top: 2px; padding-top: 6px; border-top: 1px dashed var(--line-strong); }

/* Yıla bakış */
.sd-yil { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg-soft); overflow: hidden; }
.sd-yil li { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 104px; }
.sd-yil li:nth-child(6n) { border-right: 0; }
.sd-yil li:nth-child(n+7) { border-bottom: 0; }
.sd-yil li b { font: 600 11.5px var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--ink-faint); }
.sd-yil-n { font: 800 30px/1 var(--serif); font-variant-numeric: tabular-nums; }
.sd-yil-n small { font: 500 11px var(--mono); color: var(--ink-faint); letter-spacing: .04em; }
.sd-yil-ad { font: 500 12px/1.35 var(--sans); color: var(--ink-soft); }
.sd-yil li.is-gecti { opacity: .5; }
.sd-yil li.is-sira { background: var(--accent); color: var(--accent-ink); }
.sd-yil li.is-sira b, .sd-yil li.is-sira small, .sd-yil li.is-sira .sd-yil-ad { color: color-mix(in srgb, var(--accent-ink) 82%, transparent); }

/* Araç çubuğu: arama + tür sekmeleri */
.sd-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-bottom: 14px; }
.sd-ara { display: flex; align-items: center; gap: 8px; flex: 0 1 300px; padding: 0 12px; height: 42px; background: var(--bg-soft); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--ink-faint); }
.sd-ara:focus-within { box-shadow: var(--shadow); color: var(--accent); }
.sd-ara input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--ink); font: 500 15px var(--sans); outline: 0; }
.sd-sekme { display: flex; flex-wrap: wrap; gap: 6px; }
.sd-sekme button { display: inline-flex; align-items: baseline; gap: 6px; height: 36px; padding: 0 12px; font: 600 13px var(--sans); color: var(--ink-soft); background: transparent; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; }
.sd-sekme button small { font: 500 11px var(--mono); color: var(--ink-faint); }
.sd-sekme button:hover { border-color: var(--ink); color: var(--ink); }
.sd-sekme button[aria-selected="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.sd-sekme button[aria-selected="true"] small { color: color-mix(in srgb, var(--bg) 75%, transparent); }

/* Tablo */
.sd-tablo-kap { background: var(--bg-soft); border: 1px solid var(--line-strong); border-radius: var(--radius); overflow-x: auto; }
.sd-tablo { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.sd-tablo thead th { position: sticky; top: 0; padding: 11px 14px; text-align: left; font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--accent-ink); background: var(--accent); white-space: nowrap; }
.sd-tablo thead th small { font-weight: 500; opacity: .8; text-transform: none; letter-spacing: 0; }
.sd-ay-bas th { padding: 18px 14px 8px; text-align: left; font: 700 20px var(--serif); letter-spacing: -.01em; background: var(--bg-sunken); border-top: 1px solid var(--line-strong); }
.sd-ay-bas th span::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 10px; background: var(--gold); transform: rotate(45deg); vertical-align: 2px; }
.sd-ay-bas th small { margin-left: 10px; font: 500 11.5px var(--mono); color: var(--ink-faint); letter-spacing: .06em; }
.sd-row th, .sd-row td { padding: 12px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); font-weight: 500; }
.sd-row th b { font: 700 16px/1.25 var(--serif); }
.sd-ad { display: block; margin-top: 2px; font: 500 12.5px/1.4 var(--sans); color: var(--ink-faint); max-width: 38ch; }
.sd-e { display: inline-block; padding: 1px 6px; font: 600 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--gold-ink); border: 1px solid var(--gold); border-radius: var(--radius-sm); vertical-align: 2px; }
.sd-sinav { font-weight: 600; }
.sd-sinav time { color: var(--accent); }
.sd-gun { font-weight: 500; color: var(--ink-faint); }
.sd-not { display: block; margin-top: 3px; font: 500 12px/1.4 var(--sans); color: var(--ink-faint); }
.sd-yok { color: var(--line-strong); }
.sd-oturum { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sd-oturum small { font: 500 12px var(--sans); color: var(--ink-faint); }
.sd-row.is-gecti { opacity: .5; }
.sd-row.is-sira { background: var(--accent-soft); box-shadow: inset 4px 0 0 var(--gold); }
.sd-row:hover { background: color-mix(in srgb, var(--accent-soft) 60%, transparent); }
.sd-bos { margin: 0; padding: 26px; text-align: center; font: italic 500 16px var(--serif); color: var(--ink-soft); }
.sd-kaynak { margin: 14px 0 0; font: 400 13.5px/1.6 var(--sans); color: var(--ink-faint); max-width: 90ch; }
.sd-kaynak b { color: var(--ink-soft); }
.sd-kaynak a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }

/* Diğer kurumlar */
.sd-kurum { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 3px double var(--ink); }
.sd-kurum > li { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: 8px 32px; padding: 18px 0; border-bottom: 1px solid var(--line-strong); }
.sd-kurum-bas { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.sd-kurum-bas small { font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--accent); }
.sd-kurum-bas h3 { margin: 0; font: 700 17px/1.25 var(--serif); letter-spacing: -.01em; }
.sd-durum { margin-top: 4px; padding: 3px 9px; font: 600 10.5px var(--mono); text-transform: uppercase; letter-spacing: .1em; border: 1.5px solid currentColor; border-radius: var(--radius-sm); transform: rotate(-1.5deg); }
.sd-kurum li.is-aciklandi .sd-durum { color: var(--accent); }
.sd-kurum li.is-bekleniyor .sd-durum { color: var(--gold-ink); }
.sd-kurum li.is-yok .sd-durum { color: var(--ink-faint); }
.sd-kurum-govde p { margin: 0; font: 400 14.5px/1.65 var(--sans); color: var(--ink-soft); max-width: 78ch; }
.sd-kurum-govde p a { margin-left: 8px; color: var(--link); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.sd-kurum-tarih { display: grid; gap: 0; margin: 0 0 10px; padding: 0; max-width: 78ch; }
.sd-kurum-tarih > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 4px 16px; padding: 7px 0; border-bottom: 1px dashed var(--line); }
.sd-kurum-tarih dt { font: 600 14px var(--sans); }
.sd-kurum-tarih dd { margin: 0; font: 500 13.5px var(--mono); color: var(--accent); }
.sd-kurum-tarih dd small { display: block; font: 400 12px var(--sans); color: var(--ink-faint); }
.sd-kurum-tarih .is-gecti { opacity: .5; }

.sd-haber { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sd-sss { max-width: 860px; }
.sd-son { margin-top: 28px; }
.sd-ilgili { margin-top: clamp(30px, 4vw, 48px); }

@media (max-width: 1000px) {
    .sd-one { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sd-yil { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sd-yil li:nth-child(6n) { border-right: 1px solid var(--line); }
    .sd-yil li:nth-child(4n) { border-right: 0; }
    .sd-yil li:nth-child(n+7) { border-bottom: 1px solid var(--line); }
    .sd-yil li:nth-child(n+9) { border-bottom: 0; }
    .sd-haber { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .sd-geri { grid-template-columns: 1fr; box-shadow: var(--shadow); }
    .sd-geri-sayi { flex-direction: row; justify-content: flex-start; gap: 12px; align-items: baseline; padding: 14px 18px; min-width: 0; }
    .sd-geri-sayi b { font-size: 48px; }
    .sd-geri-bilgi { grid-template-columns: 1fr; }
    .sd-geri-bilgi > div, .sd-geri-bilgi > div + div { padding: 10px 0 0; border-left: 0; }
    .sd-one { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .sd-yil { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sd-yil li { min-height: 92px; padding: 10px 11px; }
    .sd-yil li:nth-child(n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .sd-yil li:nth-child(3n) { border-right: 0; }
    .sd-yil li:nth-child(n+10) { border-bottom: 0; }
    .sd-ara { flex-basis: 100%; }
    .sd-sekme { flex-wrap: nowrap; overflow-x: auto; margin-inline: -4px; padding: 0 4px 4px; scrollbar-width: none; width: 100%; }
    .sd-sekme::-webkit-scrollbar { display: none; }
    .sd-sekme button { flex: none; }
    /* Tablo → kart: sınav tarihi önce, etiketler data-l'den */
    .sd-tablo, .sd-tablo tbody, .sd-tablo tr, .sd-tablo th, .sd-tablo td { display: block; }
    .sd-tablo thead { display: none; }
    .sd-ay-bas th { padding: 14px 14px 8px; }
    .sd-row { display: flex !important; flex-direction: column; padding: 12px 14px; border-top: 1px solid var(--line); }
    .sd-row th, .sd-row td { padding: 0; border: 0; }
    .sd-row th { order: 0; margin-bottom: 6px; }
    .sd-row td.sd-sinav { order: 1; font-size: 15px; margin-bottom: 8px; }
    .sd-row td { order: 2; display: grid !important; grid-template-columns: 104px minmax(0, 1fr); gap: 8px; padding: 4px 0; font-size: 13.5px; }
    .sd-row td::before { content: attr(data-l); font: 600 10.5px/1.7 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-faint); }
    .sd-row td.sd-sinav { grid-template-columns: 104px minmax(0, 1fr); }
    .sd-ad { max-width: none; }
    .sd-kurum > li { grid-template-columns: 1fr; gap: 10px; }
    .sd-kurum-tarih > div { grid-template-columns: 1fr; }
    .sd-haber { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .sd-row, .sd-sekme button { transition: none; } }
@media print { .sd-arac, .sd-ilgili { display: none; } .sd-row.is-gecti { opacity: 1; } }
