/* ============================================================
   ÜNİTERCİH 360 — Üniversite modülü
   ============================================================ */

/* --- Liste --- */
.uni-hero { padding: clamp(2.5rem, 6vw, 4rem) 0 2rem; background: var(--ink-50); border-bottom: 1px solid var(--ink-100); }
.uni-hero--list { text-align: center; }
.uni-hero__title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .75rem; }
.uni-hero__lead { color: var(--ink-600); max-width: 58ch; margin: 0 auto 1.5rem; }
.uni-hero__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; }

.uni-search {
    display: flex; align-items: center; gap: .55rem;
    background: var(--white); border: 1px solid var(--ink-200); border-radius: 999px;
    padding: .55rem 1rem; min-width: min(100%, 320px);
}
.uni-search input { border: 0; outline: 0; width: 100%; font: inherit; background: transparent; color: var(--ink-800); }
.uni-search .icon { color: var(--brand-600); }

.uni-city-filter { display: flex; align-items: center; gap: .5rem; }
.uni-city-filter__label { font-size: .85rem; color: var(--ink-600); font-weight: 600; }
.uni-city-filter__select {
    appearance: none;
    -webkit-appearance: none;
    background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233b6ac8' d='M6 8 0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E") no-repeat right 1rem center;
    border: 1px solid var(--ink-200);
    border-radius: 999px;
    padding: .55rem 2.4rem .55rem 1rem;
    font: inherit;
    color: var(--ink-800);
    cursor: pointer;
    min-width: 200px;
}
.uni-city-filter__select:focus {
    outline: none;
    border-color: var(--brand-400, #7c9fe0);
    box-shadow: 0 0 0 3px rgba(59, 106, 200, .14);
}
.uni-card__city {
    display: inline-flex; align-items: center;
    color: var(--brand-700, #2f5496); font-weight: 600;
}

@media (max-width: 560px) {
    .uni-city-filter { width: 100%; }
    .uni-city-filter__select { flex: 1; min-width: 0; }
}

.uni-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.uni-card { margin: 0; }
.uni-card__link {
    display: flex; align-items: center; gap: 1rem;
    background: var(--white); border: 1px solid var(--ink-100); border-radius: var(--radius);
    padding: 1rem 1.1rem; color: inherit; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.uni-card__link:hover { border-color: var(--brand-200); box-shadow: var(--shadow); transform: translateY(-2px); }
.uni-card__logo {
    display: grid; place-items: center; width: 56px; height: 56px; flex: none;
    border-radius: 14px; background: var(--brand-50); color: var(--brand-600); overflow: hidden;
}
.uni-card__logo img { width: 100%; height: 100%; object-fit: contain; padding: .35rem; }
.uni-card__body { flex: 1; min-width: 0; }
.uni-card__name { display: block; font-weight: 700; color: var(--ink-900); line-height: 1.3; }
.uni-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .35rem; font-size: .85rem; color: var(--ink-500); }
.uni-empty { text-align: center; color: var(--ink-500); margin-top: 2rem; }
.is-hidden { display: none !important; }

/* ============================================================
   Dashboard — temiz & canlı yeniden tasarım
   ============================================================ */
.page-university-show .site-header { border-bottom-color: transparent; }
.page-university-show .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }

.uni-show { padding-bottom: 4rem; background: var(--ink-50); }
.uni-show .container { position: relative; z-index: 3; }

/* ---------- HERO ---------- */
.uni-hero2 {
    position: relative; min-height: clamp(280px, 36vw, 400px);
    background: var(--brand-800); color: #fff; overflow: hidden;
    margin-bottom: 1.5rem;
}
.uni-hero2__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.uni-hero2__veil {
    position: absolute; inset: 0; pointer-events: none;
    background: rgba(13, 20, 40, .62);
}
.uni-hero2__inner {
    position: relative; z-index: 2; min-height: inherit;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 1.25rem 0 2.25rem;
}
.uni-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; font-size: .85rem; color: rgba(255,255,255,.75); margin-bottom: auto; padding-top: .35rem; }
.uni-crumb a { color: #fff; font-weight: 600; opacity: .92; }
.uni-crumb a:hover { text-decoration: underline; }

.uni-hero2__main { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.1rem; }
.uni-hero2__logo {
    display: grid; place-items: center; width: 88px; height: 88px; flex: none;
    border-radius: 20px; background: rgba(255,255,255,.97); color: var(--brand-700);
    box-shadow: 0 14px 36px rgba(0,0,0,.28); overflow: hidden;
}
.uni-hero2__logo img { width: 100%; height: 100%; object-fit: contain; padding: .45rem; }
.uni-hero2__text { flex: 1; min-width: 220px; }
.uni-hero2__badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .55rem; }
.uni-hero2__title {
    color: #fff; font-size: clamp(1.6rem, 3.4vw, 2.4rem); margin: 0 0 .45rem;
    line-height: 1.12; letter-spacing: -.02em; text-shadow: 0 2px 18px rgba(0,0,0,.4);
}
.uni-hero2__meta {
    display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
    margin: 0; color: rgba(255,255,255,.9); font-size: .95rem; font-weight: 500;
}
.uni-hero2__meta .icon { opacity: .85; }
.uni-hero2__actions { display: flex; flex-wrap: wrap; gap: .55rem; align-self: flex-end; }
.uni-hero2 .btn--light { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.4); color: #fff; }
.uni-hero2 .btn--light:hover { background: rgba(255,255,255,.26); color: #fff; }

/* Pill etiketleri */
.pill {
    display: inline-flex; align-items: center; padding: .32rem .8rem; border-radius: 999px;
    font-size: .78rem; font-weight: 700; letter-spacing: .01em;
}
.pill--devlet { background: #ecfdf5; color: #047857; }
.pill--vakif { background: #eff6ff; color: #1d4ed8; }
.pill--glass { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.32); color: #fff; backdrop-filter: blur(6px); }

/* ---------- Renkli özet kartları ---------- */
.uni-stats4 {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
    position: relative; z-index: 4; margin-bottom: 1.75rem;
}
.uni-stat4 {
    --c1: var(--brand-600); --c2: var(--brand-500);
    position: relative; overflow: hidden; color: #fff;
    background: var(--c1);
    border-radius: var(--radius); padding: 1.15rem 1.2rem;
    box-shadow: 0 16px 32px -14px var(--c1);
    display: flex; flex-direction: column; gap: .15rem;
}
.uni-stat4--blue    { --c1: #2563eb; --c2: #3b82f6; }
.uni-stat4--emerald { --c1: #059669; --c2: #10b981; }
.uni-stat4--amber   { --c1: #d97706; --c2: #f59e0b; }
.uni-stat4--rose    { --c1: #e11d2f; --c2: #f05a68; }
.uni-stat4__icon {
    display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: .35rem;
    border-radius: 11px; background: rgba(255,255,255,.22);
}
.uni-stat4__num { font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.uni-stat4__lbl { font-size: .82rem; font-weight: 600; opacity: .92; }

.uni-alert {
    display: flex; align-items: flex-start; gap: .65rem;
    background: var(--accent-50); border: 1px solid var(--accent-100); border-radius: var(--radius-sm);
    padding: 1rem 1.1rem; margin-bottom: 1.25rem; font-size: .92rem;
}

/* ---------- Sekme menüsü ---------- */
.uni-tabs {
    display: flex; flex-wrap: wrap; gap: .35rem;
    background: var(--white); border: 1px solid var(--ink-100); border-radius: 999px;
    padding: .35rem; margin-bottom: 1.75rem; box-shadow: var(--shadow-sm);
    position: sticky; top: calc(var(--header-h, 72px) + .4rem); z-index: 5;
}
.uni-tabs__link {
    padding: .55rem 1.05rem; border-radius: 999px; font-size: .87rem; font-weight: 700;
    color: var(--ink-600); transition: background .2s, color .2s;
}
.uni-tabs__link:hover { color: var(--brand-700); background: var(--brand-50); }
.uni-tabs__link.is-active { background: var(--brand-700); color: #fff; }

/* ---------- Blok / bölüm başlıkları ---------- */
.uni-block { margin-bottom: clamp(1.75rem, 4vw, 2.75rem); scroll-margin-top: calc(var(--header-h) + 70px); }
.uni-block__head { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.1rem; }
.uni-block__title { font-size: clamp(1.15rem, 2vw, 1.4rem); margin: 0; color: var(--ink-900); letter-spacing: -.01em; }
.uni-block__sub { margin: .2rem 0 0; font-size: .9rem; color: var(--ink-500); }
.uni-block__ico {
    display: grid; place-items: center; width: 44px; height: 44px; flex: none;
    border-radius: 13px; color: #fff;
}
.uni-block__ico--green  { background: var(--brand-600); }
.uni-block__ico--blue   { background: var(--brand-500); }
.uni-block__ico--teal   { background: var(--brand-700); }

/* ---------- Kart ---------- */
.uni-card2 {
    background: var(--white); border: 1px solid var(--ink-100); border-radius: var(--radius);
    box-shadow: var(--shadow-sm); padding: 1.35rem 1.45rem;
}
.uni-card2--flush { padding: 0; overflow: hidden; }

.uni-mini-title {
    font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
    color: var(--ink-500); margin: 0 0 .9rem;
}

/* ---------- Genel bakış: 3 widget ---------- */
.uni-widgets3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }

/* Grafik widget'ları */
.uni-widget {
    --w-accent: var(--brand-600);
    --w-accent-soft: var(--brand-50);
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 1.15rem 1.2rem 1.1rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.uni-widget::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: var(--w-accent);
}
.uni-widget--burs { --w-accent: #059669; --w-accent-soft: #ecfdf5; }
.uni-widget--puan { --w-accent: #2563eb; --w-accent-soft: #eff6ff; }
.uni-widget--lang { --w-accent: #0891b2; --w-accent-soft: #ecfeff; }
.uni-widget--compact {
    border: 0; box-shadow: none; padding: 0; background: transparent;
}
.uni-widget--compact::before { display: none; }
.uni-widget--compact .uni-pipe-hero { margin-bottom: .65rem; }

.uni-widget__head {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1rem;
}
.uni-widget__icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 10px;
    background: var(--w-accent-soft);
    color: var(--w-accent);
}
.uni-widget__title {
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--ink-700);
    margin: 0;
}
.uni-widget__title--flat {
    margin-bottom: .85rem;
    color: var(--ink-500);
}

/* Pipe grafik widget'ları */
.uni-widget--pipe .uni-widget__head { margin-bottom: .85rem; }

.uni-pipe-hero {
    margin-bottom: 1rem;
    padding: .85rem .95rem;
    border-radius: var(--radius-sm);
    background: var(--w-accent-soft);
}
.uni-pipe-hero__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .65rem;
    margin-bottom: .65rem;
}
.uni-pipe-hero__pct {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--w-accent);
    letter-spacing: -.02em;
    line-height: 1;
}
.uni-pipe-hero__lbl {
    font-size: .78rem;
    font-weight: 700;
    color: var(--ink-600);
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: right;
}
.uni-pipe-hero__track {
    display: block;
    height: 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .85);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
}
.uni-pipe-hero__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    min-width: 3px;
    transition: width .45s ease;
}

.uni-pipe-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
}
.uni-pipe-list__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    font-size: .78rem;
    color: var(--ink-700);
    margin-bottom: .28rem;
}
.uni-pipe-list__key {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
}
.uni-pipe-list__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: none;
}
.uni-pipe-list__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}
.uni-pipe-list__val {
    font-weight: 700;
    color: var(--ink-800);
    white-space: nowrap;
    font-size: .74rem;
}
.uni-pipe-list__track {
    display: block;
    height: 7px;
    border-radius: 999px;
    background: var(--ink-100);
    overflow: hidden;
}
.uni-pipe-list__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    min-width: 2px;
    transition: width .45s ease;
}

.uni-widget__content {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    min-height: 0;
}
.uni-widget__chart {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uni-donut {
    --donut-size: 108px;
    width: var(--donut-size);
    height: var(--donut-size);
    border-radius: 50%;
    flex: none;
    display: grid;
    place-items: center;
    position: relative;
    background: var(--donut-bg, conic-gradient(#e2e8f0 0 100%));
    box-shadow: 0 0 0 6px var(--w-accent-soft);
}
.uni-donut__hole {
    width: 54%;
    height: 54%;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.1;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .08);
}
.uni-donut__hole strong {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--w-accent);
    letter-spacing: -.02em;
}
.uni-donut__hole small {
    font-size: .58rem;
    color: var(--ink-500);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    max-width: 92%;
    margin-top: .12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.uni-widget__legend {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.uni-leg__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    font-size: .78rem;
    color: var(--ink-700);
    margin-bottom: .25rem;
}
.uni-leg__key {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
}
.uni-leg__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: none;
}
.uni-leg__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}
.uni-leg__val {
    font-weight: 700;
    color: var(--ink-800);
    white-space: nowrap;
    font-size: .74rem;
}
.uni-leg__bar {
    display: block;
    height: 5px;
    border-radius: 999px;
    background: var(--ink-100);
    overflow: hidden;
}
.uni-leg__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    min-width: 2px;
}

/* Panel içindeki düz (kartsız) kullanım */
.uni-widget--flat {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
.uni-widget--flat::before { display: none; }
.uni-widget--flat .uni-widget__content { flex-direction: column; align-items: center; }
.uni-widget--flat .uni-donut__hole strong { color: var(--brand-700); }

/* Butonlar — gradyan yok (üniversite sayfası) */
.uni-show .btn--brand {
    background: var(--brand-700);
    box-shadow: 0 4px 12px -4px rgba(29, 43, 76, .45);
}
.uni-show .btn--brand:hover {
    background: var(--brand-600);
    box-shadow: 0 6px 16px -4px rgba(29, 43, 76, .5);
}
.uni-show .btn--primary {
    background: var(--accent-500);
    box-shadow: 0 4px 12px -4px rgba(225, 29, 47, .4);
}
.uni-show .btn--primary:hover {
    background: var(--accent-600);
    box-shadow: 0 6px 16px -4px rgba(225, 29, 47, .5);
}
.uni-show .chip.is-active {
    background: var(--brand-700);
    color: #fff;
    border-color: var(--brand-700);
}
.uni-show .uni-tabs__link.is-active {
    background: var(--brand-700);
    color: #fff;
}

/* ---------- Burs & ücret ---------- */
.uni-burs2 { display: grid; grid-template-columns: 150px 1fr; gap: 1.5rem; align-items: center; }
.uni-burs2__hi {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    aspect-ratio: 1; border-radius: 50%; text-align: center; line-height: 1.1;
    background: #ecfdf5; border: 6px solid #d1fae5;
}
.uni-burs2__hi strong { font-size: 2rem; font-weight: 800; letter-spacing: -.02em; color: #047857; }
.uni-burs2__hi span { font-size: .78rem; font-weight: 700; color: #059669; max-width: 90%; }

.uni-bars { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .85rem; }
.uni-bars__empty { color: var(--ink-500); font-size: .9rem; }
.uni-bars__top { display: flex; justify-content: space-between; gap: .75rem; font-size: .88rem; color: var(--ink-700); margin-bottom: .35rem; }
.uni-bars__top strong { color: var(--brand-700); font-size: .8rem; white-space: nowrap; }

/* Ortak ilerleme çubuğu */
.uni-track { display: block; height: 8px; border-radius: 999px; background: var(--ink-100); overflow: hidden; }
.uni-track__fill { display: block; height: 100%; border-radius: inherit; background: var(--brand-500); transition: width .4s ease; }
.uni-track__fill--green  { background: var(--brand-600); }
.uni-track__fill--blue   { background: var(--brand-500); }
.uni-track__fill--teal   { background: var(--brand-700); }
.uni-track__fill--amber  { background: var(--accent-500); }
.uni-track__fill--slate  { background: var(--ink-400); }

/* Notlar */
.uni-note {
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
    margin: 1.1rem 0 0; padding-top: .95rem; border-top: 1px solid var(--ink-100);
    font-size: .88rem; color: var(--ink-600);
}
.uni-note .icon { color: var(--brand-500); flex: none; }
.uni-note strong { color: var(--brand-700); }
.uni-note--web {
    display: block; margin-top: 1.1rem; padding: .95rem 1.1rem; border: 0;
    border-radius: var(--radius-sm); background: var(--brand-50);
}
.uni-note__tag {
    display: inline-block; font-size: .68rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: .06em; color: var(--brand-700); margin-bottom: .35rem;
}
.uni-note--web p { margin: 0; font-size: .86rem; color: var(--ink-700); line-height: 1.6; }

/* ---------- Yurt ---------- */
.uni-lead { margin: 0 0 1.1rem; font-size: .95rem; color: var(--ink-700); line-height: 1.7; }
.uni-tips { display: flex; flex-direction: column; gap: .55rem; margin-bottom: 1.25rem; }
.uni-tips span { display: flex; align-items: center; gap: .55rem; font-size: .9rem; color: var(--ink-600); }
.uni-tips .icon { color: #059669; flex: none; }
.uni-web-source {
    margin: 0 0 1rem;
    font-size: .8rem;
    color: var(--ink-500);
}
.uni-web-source strong { color: var(--ink-700); }
.uni-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.btn--sm { padding: .5rem .9rem; font-size: .85rem; }

/* ---------- Filtre & tablo ---------- */
.uni-filter { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.chip {
    display: inline-flex; align-items: center; padding: .42rem .85rem; border-radius: 999px;
    border: 1px solid var(--ink-200); background: var(--white); color: var(--ink-700);
    font-size: .84rem; font-weight: 600; transition: border-color .2s, background .2s, color .2s;
    cursor: pointer; font-family: inherit; line-height: 1.3;
}
button.chip { appearance: none; -webkit-appearance: none; }
.chip:hover { border-color: var(--brand-300); color: var(--brand-700); }
.chip.is-active { background: var(--brand-700); color: #fff; border-color: var(--brand-700); }
.chip.is-active:hover { color: #fff; }

.uni-filter-empty {
    margin: -.35rem 0 1rem; font-size: .88rem; color: var(--ink-500);
}

.uni-prog-filters {
    padding: .95rem 1.1rem .85rem;
    background: var(--ink-50);
    border-bottom: 1px solid var(--ink-100);
}
.uni-prog-filters__head {
    display: flex; align-items: center; justify-content: space-between;
    gap: .75rem; margin-bottom: .75rem;
}
.uni-prog-filters__title {
    font-size: .74rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: .05em; color: var(--ink-500);
}
.uni-prog-filters__clear {
    appearance: none; border: 1px solid var(--ink-200); background: var(--white);
    color: var(--ink-600); font: inherit; font-size: .76rem; font-weight: 700;
    padding: .35rem .7rem; border-radius: 999px; cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
}
.uni-prog-filters__clear:hover {
    border-color: var(--brand-300); color: var(--brand-700); background: var(--brand-50);
}
.uni-prog-filters__grid {
    display: grid;
    grid-template-columns: minmax(88px, .7fr) minmax(140px, 1.4fr) minmax(140px, 1.3fr) repeat(6, minmax(72px, .75fr));
    gap: .55rem .65rem;
}
.uni-prog-filters__field { display: flex; flex-direction: column; gap: .28rem; min-width: 0; }
.uni-prog-filters__field label {
    font-size: .68rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: .04em; color: var(--ink-500);
}
.uni-prog-filters__input {
    width: 100%; min-width: 0; border: 1px solid var(--ink-200); border-radius: 8px;
    background: var(--white); color: var(--ink-800); font: inherit; font-size: .8rem;
    padding: .45rem .55rem; transition: border-color .2s, box-shadow .2s;
}
.uni-prog-filters__input::placeholder { color: var(--ink-400); }
.uni-prog-filters__input:focus {
    outline: none; border-color: var(--brand-400);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.uni-prog-filters__count {
    margin: .65rem 0 0; font-size: .78rem; font-weight: 600; color: var(--ink-500);
}

.uni-table-wrap { overflow-x: auto; }
.uni-table { width: 100%; border-collapse: collapse; font-size: .87rem; }
.uni-table th, .uni-table td { padding: .85rem 1.1rem; text-align: left; border-bottom: 1px solid var(--ink-100); vertical-align: top; }
.uni-table th { background: var(--ink-50); color: var(--ink-600); font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.uni-table tbody tr:last-child td { border-bottom: 0; }
.uni-table tbody tr:hover { background: var(--brand-50); }
.uni-table__sub { display: block; font-size: .76rem; color: var(--ink-400); margin-top: .15rem; }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.uni-kod {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: .78rem; color: var(--ink-600); font-weight: 600;
}

.uni-doluluk {
    display: inline-flex; align-items: center; gap: .45rem; min-width: 72px;
}
.uni-doluluk__bar {
    display: block; width: 48px; height: 6px; border-radius: 999px;
    background: var(--ink-100); overflow: hidden;
}
.uni-doluluk__fill {
    display: block; height: 100%; border-radius: inherit; background: #059669;
}
.uni-doluluk__pct {
    font-size: .78rem; font-weight: 700; color: var(--ink-700); white-space: nowrap;
}

.uni-prog-toggle {
    appearance: none; border: 1px solid var(--ink-200); background: var(--white);
    color: var(--brand-700); font: inherit; font-size: .78rem; font-weight: 700;
    padding: .35rem .65rem; border-radius: 999px; cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.uni-prog-toggle:hover { border-color: var(--brand-300); background: var(--brand-50); }
.uni-prog-toggle[aria-expanded="true"] {
    background: var(--brand-700); border-color: var(--brand-700); color: #fff;
}

.uni-prog-detail-row td {
    padding: 0 !important; background: var(--ink-50); border-bottom: 1px solid var(--ink-100);
}

/* ---------- Bölüm detay paneli ---------- */
.uni-prog-panel {
    padding: 1.15rem 1.25rem 1.25rem;
    background: var(--white);
}
.uni-prog-panel__head {
    display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
    gap: 1.15rem 1.35rem; align-items: start;
    padding-bottom: 1.15rem; margin-bottom: 1.15rem;
    border-bottom: 1px solid var(--ink-100);
}
.uni-prog-panel__eyebrow {
    margin: 0 0 .35rem; font-size: .72rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .06em; color: var(--brand-600);
}
.uni-prog-panel__name {
    margin: 0 0 .35rem; font-size: clamp(1.05rem, 2vw, 1.25rem);
    color: var(--ink-900); letter-spacing: -.02em; line-height: 1.25;
}
.uni-prog-panel__fac { margin: 0 0 .65rem; font-size: .88rem; color: var(--ink-500); }
.uni-prog-panel__tags { display: flex; flex-wrap: wrap; gap: .4rem; }

.uni-prog-tag {
    display: inline-flex; align-items: center; padding: .28rem .65rem;
    border-radius: 999px; font-size: .74rem; font-weight: 700;
}
.uni-prog-tag--puan { background: #eff6ff; color: #1d4ed8; }
.uni-prog-tag--lang { background: #ecfeff; color: #0e7490; }
.uni-prog-tag--burs { background: #ecfdf5; color: #047857; }
.uni-prog-tag--full { background: #fef2f2; color: #b91c1c; }

.uni-prog-kpis {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem;
}
.uni-prog-kpi {
    --kpi-accent: var(--brand-600);
    background: var(--white); border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm); padding: .75rem .85rem;
    display: flex; flex-direction: column; gap: .15rem;
    box-shadow: var(--shadow-sm); position: relative; overflow: hidden;
}
.uni-prog-kpi::before {
    content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--kpi-accent);
}
.uni-prog-kpi--blue    { --kpi-accent: #2563eb; }
.uni-prog-kpi--amber  { --kpi-accent: #d97706; }
.uni-prog-kpi--emerald { --kpi-accent: #059669; }
.uni-prog-kpi--rose   { --kpi-accent: #e11d48; }
.uni-prog-kpi__lbl {
    font-size: .7rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .04em; color: var(--ink-500);
}
.uni-prog-kpi__val {
    font-size: 1.05rem; font-weight: 800; color: var(--ink-900); line-height: 1.15;
}
.uni-prog-kpi__sub { font-size: .74rem; color: var(--ink-500); font-weight: 600; }
.uni-prog-kpi__track {
    display: block; height: 5px; border-radius: 999px; background: var(--ink-100); margin-top: .25rem;
}
.uni-prog-kpi__fill {
    display: block; height: 100%; border-radius: inherit; background: var(--kpi-accent);
}

.uni-prog-panel__body { display: flex; flex-direction: column; gap: 1rem; }
.uni-prog-panel__cols {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 1rem;
    align-items: stretch;
}
.uni-prog-card--staff { display: flex; flex-direction: column; min-height: 100%; }

/* Bölüm kadrosu — YÖK Atlas kompakt kart */
.uni-prog-staff-table {
    width: 100%; border-collapse: collapse; font-size: .82rem;
    background: var(--white); border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm); overflow: hidden;
    margin-bottom: .85rem;
}
.uni-prog-staff-table--compact { font-size: .78rem; }
.uni-prog-staff-table th,
.uni-prog-staff-table td {
    padding: .5rem .65rem; text-align: left;
    border-bottom: 1px solid var(--ink-100);
}
.uni-prog-staff-table--compact th,
.uni-prog-staff-table--compact td { padding: .42rem .55rem; }
.uni-prog-staff-table thead th {
    background: var(--ink-50); font-size: .68rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .04em; color: var(--ink-500);
}
.uni-prog-staff-table tbody td:last-child,
.uni-prog-staff-table tfoot td {
    font-weight: 700; color: var(--ink-800); text-align: right; white-space: nowrap;
}
.uni-prog-staff-table tbody tr:last-child td { border-bottom: 0; }
.uni-prog-staff-table tfoot th,
.uni-prog-staff-table tfoot td {
    background: #eff6ff; border-bottom: 0; font-size: .8rem;
}
.uni-prog-staff-table tfoot td strong { color: #1d4ed8; font-size: .9rem; }

.uni-prog-staff-yok {
    margin-top: auto;
    padding-top: .75rem;
    border-top: 1px solid var(--ink-100);
}
.uni-prog-staff-yok__title {
    margin: 0 0 .7rem; font-size: .72rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .04em; color: var(--ink-500);
}
.uni-prog-staff-yok__body {
    display: grid; grid-template-columns: 128px minmax(0, 1fr);
    gap: .65rem 1rem; align-items: center;
}
.uni-prog-staff-yok__chart {
    display: flex; justify-content: center; align-items: center;
}

/* Kadro donut chart (SVG) */
.uni-staff-chart { width: 118px; height: 118px; flex: none; }
.uni-staff-chart__svg { display: block; width: 100%; height: 100%; }
.uni-staff-chart__bg { stroke: #e2e8f0; }
.uni-staff-chart__seg { stroke-linecap: butt; }
.uni-staff-chart__lbl {
    fill: var(--ink-500); font-size: 8px; font-weight: 800;
    letter-spacing: .06em; text-transform: uppercase;
    font-family: inherit;
}
.uni-staff-chart__num {
    fill: #1e3a8a; font-size: 18px; font-weight: 800;
    font-family: inherit;
}

.uni-prog-staff-legend {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: .5rem; min-width: 0;
}
.uni-prog-staff-legend__row {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(24px, 1.2fr) auto;
    gap: .35rem .45rem; align-items: center;
}
.uni-prog-staff-legend__key {
    display: flex; align-items: center; gap: .35rem; min-width: 0;
}
.uni-prog-staff-legend__dot {
    width: 9px; height: 9px; border-radius: 2px; flex: none;
}
.uni-prog-staff-legend__lbl {
    font-size: .72rem; font-weight: 600; color: var(--ink-700);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.uni-prog-staff-legend__line {
    display: block; height: 1px; background: var(--ink-200); min-width: 0;
}
.uni-prog-staff-legend__num {
    font-size: .74rem; font-weight: 800; color: var(--ink-900);
    min-width: 1.25rem; text-align: right;
}

.uni-prog-card {
    background: var(--white); border: 1px solid var(--ink-100);
    border-radius: var(--radius); padding: 1rem 1.05rem;
    box-shadow: var(--shadow-sm);
}
.uni-prog-card__head {
    display: flex; align-items: center; gap: .65rem; margin-bottom: .85rem;
}
.uni-prog-card__ico {
    display: grid; place-items: center; width: 36px; height: 36px; flex: none;
    border-radius: 10px; color: #fff;
}
.uni-prog-card__ico--blue   { background: #2563eb; }
.uni-prog-card__ico--teal   { background: #0d9488; }
.uni-prog-card__ico--green  { background: #059669; }
.uni-prog-card__ico--amber  { background: #d97706; }
.uni-prog-card__title {
    margin: 0; flex: 1; font-size: .88rem; font-weight: 800; color: var(--ink-800);
}
.uni-prog-card__badge {
    font-size: .72rem; font-weight: 700; color: var(--brand-700);
    background: var(--brand-50); padding: .25rem .55rem; border-radius: 999px;
}
.uni-prog-card__empty {
    margin: 0; font-size: .84rem; color: var(--ink-500); line-height: 1.5;
}

.uni-prog-meta {
    list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem;
}
.uni-prog-meta li {
    display: grid; grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center; gap: .55rem; padding: .5rem .55rem;
    background: var(--ink-50); border-radius: var(--radius-sm);
}
.uni-prog-meta__ico {
    display: grid; place-items: center; width: 28px; height: 28px;
    border-radius: 8px; background: var(--white); color: var(--brand-600);
}
.uni-prog-meta__lbl { font-size: .78rem; color: var(--ink-500); font-weight: 600; }
.uni-prog-meta__val { font-size: .84rem; font-weight: 700; color: var(--ink-800); text-align: right; }

.uni-prog-staff { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
.uni-prog-staff__row { display: flex; flex-direction: column; gap: .35rem; }
.uni-prog-staff__top { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.uni-prog-staff__lbl { font-size: .82rem; color: var(--ink-600); font-weight: 600; }
.uni-prog-staff__num { font-size: .92rem; font-weight: 800; color: var(--ink-900); }
.uni-prog-staff__track {
    display: block; height: 7px; border-radius: 999px; background: var(--ink-100); overflow: hidden;
}
.uni-prog-staff__fill {
    display: block; height: 100%; border-radius: inherit;
}
.uni-prog-staff__row--teal   .uni-prog-staff__fill { background: #14b8a6; }
.uni-prog-staff__row--blue   .uni-prog-staff__fill { background: #3b82f6; }
.uni-prog-staff__row--amber  .uni-prog-staff__fill { background: #f59e0b; }

.uni-prog-trend,
.uni-prog-terms {
    background: var(--white); border: 1px solid var(--ink-100);
    border-radius: var(--radius); padding: 1rem 1.05rem; box-shadow: var(--shadow-sm);
}
.uni-prog-trend__head {
    display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .95rem;
}
.uni-prog-trend__title {
    margin: 0; font-size: .92rem; font-weight: 800; color: var(--ink-900);
}
.uni-prog-trend__sub { margin: .15rem 0 0; font-size: .78rem; color: var(--ink-500); }

.uni-prog-trend__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem;
}
.uni-prog-year {
    background: var(--ink-50); border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm); padding: .85rem .9rem;
    display: flex; flex-direction: column; gap: .25rem;
}
.uni-prog-year.is-current {
    border-color: var(--brand-200); background: var(--brand-50);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08);
}
.uni-prog-year__badge {
    font-size: .7rem; font-weight: 800; text-transform: uppercase;
    letter-spacing: .04em; color: var(--ink-500);
}
.uni-prog-year.is-current .uni-prog-year__badge { color: var(--brand-700); }
.uni-prog-year__puan {
    font-size: 1.15rem; font-weight: 800; color: var(--ink-900); line-height: 1.1;
}
.uni-prog-year__lbl { font-size: .72rem; color: var(--ink-500); font-weight: 600; margin-bottom: .25rem; }
.uni-prog-year__track {
    display: block; height: 6px; border-radius: 999px; background: var(--ink-200); overflow: hidden;
}
.uni-prog-year.is-current .uni-prog-year__track { background: rgba(37, 99, 235, .12); }
.uni-prog-year__fill {
    display: block; height: 100%; border-radius: inherit; background: var(--brand-600);
}
.uni-prog-year.is-current .uni-prog-year__fill { background: var(--brand-700); }
.uni-prog-year__stats {
    margin: .45rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .65rem;
}
.uni-prog-year__stats div {
    display: flex; flex-direction: column; gap: .05rem;
}
.uni-prog-year__stats dt {
    font-size: .68rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .03em; color: var(--ink-400);
}
.uni-prog-year__stats dd { margin: 0; font-size: .82rem; font-weight: 800; color: var(--ink-800); }

.uni-prog-terms__list {
    margin: 0; padding: 0; list-style: none; counter-reset: prog-term;
    display: flex; flex-direction: column; gap: .65rem;
}
.uni-prog-terms__list li {
    counter-increment: prog-term; position: relative;
    padding: .85rem .95rem .85rem 2.75rem;
    background: var(--ink-50); border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm); font-size: .84rem;
    color: var(--ink-700); line-height: 1.55;
}
.uni-prog-terms__list li::before {
    content: counter(prog-term);
    position: absolute; left: .85rem; top: .85rem;
    width: 1.45rem; height: 1.45rem; border-radius: 999px;
    display: grid; place-items: center;
    font-size: .72rem; font-weight: 800; color: #b45309; background: #fef3c7;
}

.uni-prog-panel__foot {
    display: flex; justify-content: flex-end; padding-top: 1rem; margin-top: .15rem;
    border-top: 1px solid var(--ink-100);
}
.uni-prog-panel__foot .btn { display: inline-flex; align-items: center; gap: .4rem; }

.uni-table--programs .uni-prog-row.is-hidden,
.uni-table--programs .uni-prog-detail-row.is-hidden { display: none; }

.tag { display: inline-block; padding: .22rem .6rem; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.tag--puan { background: #eff6ff; color: #1d4ed8; }
.tag--burs { background: #ecfdf5; color: #047857; }

/* ---------- Kurumsal profil ---------- */
.uni-profile2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.uni-profile2__card {
    --profile-accent: #2563eb;
    --profile-soft: #eff6ff;
    background: var(--white);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 1rem 1.05rem 1.05rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.uni-profile2__card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: var(--profile-accent);
}
.uni-profile2__card--green  { --profile-accent: #059669; --profile-soft: #ecfdf5; }
.uni-profile2__card--blue   { --profile-accent: #2563eb; --profile-soft: #eff6ff; }
.uni-profile2__card--teal   { --profile-accent: #0d9488; --profile-soft: #ecfeff; }
.uni-profile2__card--slate  { --profile-accent: #475569; --profile-soft: #f8fafc; }
.uni-profile2__card--wide   { grid-column: 1 / -1; }

.uni-profile2__head {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .85rem;
}
.uni-profile2__ico {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex: none;
    border-radius: 10px;
    background: var(--profile-accent);
    color: #fff;
}
.uni-profile2__title {
    margin: 0;
    font-size: .88rem;
    font-weight: 600;
    color: var(--ink-900);
    letter-spacing: -.01em;
}
.uni-profile2__body { flex: 1; min-width: 0; }
.uni-profile2__meta {
    margin: .75rem 0 0;
    font-size: .82rem;
    color: var(--ink-500);
    text-align: center;
}
.uni-profile2__meta strong { color: var(--ink-800); }
.uni-profile2__empty {
    margin: 0;
    font-size: .84rem;
    color: var(--ink-500);
}
.uni-profile2__bars {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.uni-profile2__bar-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .75rem;
    margin-bottom: .35rem;
    font-size: .84rem;
    color: var(--ink-700);
}
.uni-profile2__bar-top strong {
    font-size: .88rem;
    font-weight: 800;
    color: var(--profile-accent);
}
.uni-profile2__foot {
    margin: .85rem 0 0;
    padding-top: .75rem;
    border-top: 1px solid var(--ink-100);
    font-size: .82rem;
    color: var(--ink-500);
    text-align: center;
}
.uni-profile2__foot strong { color: var(--ink-800); }

.uni-profile2__fac {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem 1rem;
}
.uni-profile2__fac-item {
    background: var(--profile-soft);
    border: 1px solid var(--ink-100);
    border-radius: var(--radius-sm);
    padding: .75rem .85rem;
}
.uni-profile2__fac-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .65rem;
    margin-bottom: .45rem;
}
.uni-profile2__fac-name {
    font-size: .82rem;
    font-weight: 600;
    color: var(--ink-700);
    line-height: 1.35;
}
.uni-profile2__fac-num {
    font-size: .92rem;
    font-weight: 800;
    color: var(--profile-accent);
    white-space: nowrap;
}

.uni-source { margin: 1.25rem 0 0; font-size: .82rem; color: var(--ink-500); text-align: center; }
.uni-source strong { color: var(--ink-700); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .uni-widgets3 { grid-template-columns: repeat(3, 1fr); }
    .uni-profile2 { grid-template-columns: repeat(2, 1fr); }
    .uni-profile2__fac { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uni-prog-filters__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .uni-grid { grid-template-columns: 1fr; }
    .uni-stats4 { grid-template-columns: repeat(2, 1fr); }
    .uni-widgets3 { grid-template-columns: 1fr; }
    .uni-profile2 { grid-template-columns: 1fr; }
    .uni-profile2__fac { grid-template-columns: 1fr; }
    .uni-hero2__main { align-items: flex-start; }
    .uni-hero2__actions { align-self: stretch; }
    .uni-tabs { overflow-x: auto; flex-wrap: nowrap; }
    .uni-tabs__link { white-space: nowrap; }
    .uni-table thead { display: none; }
    .uni-table--programs .uni-prog-row { display: block; border-bottom: 1px solid var(--ink-100); padding: .7rem 1.1rem; }
    .uni-table--programs .uni-prog-detail-row { display: block; padding: 0; }
    .uni-table--programs .uni-prog-detail-row:not(.is-hidden) td { display: block; padding: 0 !important; }
    .uni-prog-panel { padding: 1rem; }
    .uni-prog-panel__head { grid-template-columns: 1fr; }
    .uni-prog-panel__cols { grid-template-columns: 1fr; }
    .uni-prog-staff-yok__body { grid-template-columns: 1fr; justify-items: center; }
    .uni-prog-staff-legend { width: 100%; }
    .uni-prog-kpis { grid-template-columns: repeat(2, 1fr); }
    .uni-prog-trend__grid { grid-template-columns: repeat(2, 1fr); }
    .uni-prog-filters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uni-table tr { display: block; border-bottom: 1px solid var(--ink-100); padding: .7rem 1.1rem; }
    .uni-table tbody tr:last-child { border-bottom: 0; }
    .uni-table td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: .3rem 0; text-align: right; }
    .uni-table td strong, .uni-table td .uni-table__sub { text-align: right; }
    .uni-table td::before { content: attr(data-label); font-weight: 700; color: var(--ink-500); font-size: .72rem; text-transform: uppercase; flex: none; align-self: center; }
}

@media (max-width: 560px) {
    .uni-burs2 { grid-template-columns: 1fr; justify-items: center; }
    .uni-burs2__hi { width: 150px; aspect-ratio: 1; }
    .uni-burs2 .uni-bars { width: 100%; }
}

@media (max-width: 480px) {
    .uni-stats4 { grid-template-columns: 1fr; }
    .uni-prog-kpis { grid-template-columns: 1fr; }
    .uni-prog-trend__grid { grid-template-columns: 1fr; }
    .uni-prog-filters__grid { grid-template-columns: 1fr; }
}
