/*
 * SULTANGAZİ İNOVASYON MERKEZİ — Yönetim Paneli
 * Düzen portal.basaksehirlivinglab.com portalını örnek alır: gölgeli beyaz üst başlık, ikonlu menü,
 * avatar, bölüm başlıkları ve beyaz kartlar; giriş ekranında karartmalı arka plan ve dikey sekmeler.
 *
 * KURUM RENKLERİ: --brand-* değerleri bu blokta tanımlıdır; sayfanın geri kalanı bu değişkenleri kullanır.
 */
:root {
    --brand-primary: #01182f;     /* lacivert: başlıklar, birincil butonlar */
    --brand-primary-2: #032a43;   /* lacivert (açık): hover, gradyan */
    --brand-secondary: #45c1ef;   /* camgöbeği: vurgu, aktif öğe */
    --brand-accent: #a60a27;      /* kırmızı: menü ikonları, rozet, sil/tehlike */
    --brand-accent-dark: #720519;
    --nav-fg: #07314d;
    --login-overlay: rgba(0, 16, 49, .6);
    --login-cover: #f4fbff;

    --font-base: "Poppins", "Segoe UI", Roboto, Arial, sans-serif;

    --bg: #f1f5f8;
    --surface: #ffffff;
    --surface-2: #f7f9fb;
    --text: #262626;
    --muted: #615f79;
    --border: #e0dfe2;
    --success: #1b7a43;
    --success-bg: #e6f5ec;
    --warning: #8a5a00;
    --warning-bg: #fff4dc;
    --danger-bg: #fdecef;
    --info: #0d6a91;
    --info-bg: #e8f7fd;
    --radius: 10px;
    --radius-sm: 6px;
    --shadow: 0 0 4px rgba(0, 0, 0, .08), 0 6px 18px rgba(1, 24, 47, .06);
    --sidebar-w: 260px;
    --sidebar-w-collapsed: 72px;

    /* Anlamsal renkler: koyu temada aşağıda yeniden tanımlanır. */
    color-scheme: light;
    --heading: var(--brand-primary);
    --link: var(--brand-primary-2);
    --btn-bg: var(--brand-primary);
    --btn-bg-hover: var(--brand-primary-2);
    --btn-fg: #fff;
    --input-bg: #fff;
    --row-hover: #f8fbfd;
    --border-strong: #c9cdd8;
    --danger-border: #f0c6ce;
    --warning-border: #e0a100;
    --chip-bg: #eef1f4;
    --chip-fg: #4a5562;
    --chip-muted-fg: #6b7480;
    --bar-fill: #a9def3;
    --login-tab-bg: #f2f2f3;
    --sidebar-bg-1: var(--brand-primary);
    --sidebar-bg-2: var(--brand-primary-2);
    --control-border: #d5d9e0;
    --control-hover: #aeb6c2;
    --seg-bg: #eef1f5;
    --seg-active: #fff;
    --scroll-thumb: #c9cfd8;
    --select-arrow: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23615f79%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");
}

/* ---------- Koyu tema: kullanıcı seçtiyse (data-theme) ya da seçim yokken sistem koyu ise ---------- */
:root[data-theme="dark"] {
    color-scheme: dark;
    --brand-accent: #f0627a;
    --brand-accent-dark: #ffb3bf;
    --nav-fg: #cfe0ee;
    --login-cover: #12212f;
    --bg: #0b1622;
    --surface: #12212f;
    --surface-2: #182a3a;
    --text: #dfe8f0;
    --muted: #93a4b5;
    --border: #24384a;
    --success: #5fd08f;
    --success-bg: #12301f;
    --warning: #f0c060;
    --warning-bg: #33280f;
    --danger-bg: #3a1720;
    --info: #7fd3f5;
    --info-bg: #11303f;
    --shadow: 0 0 0 1px rgba(255, 255, 255, .03), 0 6px 18px rgba(0, 0, 0, .35);
    --heading: #eef4f9;
    --link: #7fd3f5;
    --btn-bg: var(--brand-secondary);
    --btn-bg-hover: #6fd0f4;
    --btn-fg: var(--brand-primary);
    --input-bg: #0f1c29;
    --row-hover: #16293a;
    --border-strong: #34506a;
    --danger-border: #5a2430;
    --warning-border: #b98a1c;
    --chip-bg: #1e3244;
    --chip-fg: #b6c6d4;
    --chip-muted-fg: #9fb0bf;
    --bar-fill: #2a5f78;
    --login-tab-bg: #1a2b3b;
    --sidebar-bg-1: #08121c;
    --sidebar-bg-2: #0d1b28;
    --control-border: #2c4256;
    --control-hover: #3f5a72;
    --seg-bg: #0f1c29;
    --seg-active: #1e3244;
    --scroll-thumb: #2c4256;
    --select-arrow: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2393a4b5%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --brand-accent: #f0627a;
        --brand-accent-dark: #ffb3bf;
        --nav-fg: #cfe0ee;
        --login-cover: #12212f;
        --bg: #0b1622;
        --surface: #12212f;
        --surface-2: #182a3a;
        --text: #dfe8f0;
        --muted: #93a4b5;
        --border: #24384a;
        --success: #5fd08f;
        --success-bg: #12301f;
        --warning: #f0c060;
        --warning-bg: #33280f;
        --danger-bg: #3a1720;
        --info: #7fd3f5;
        --info-bg: #11303f;
        --shadow: 0 0 0 1px rgba(255, 255, 255, .03), 0 6px 18px rgba(0, 0, 0, .35);
        --heading: #eef4f9;
        --link: #7fd3f5;
        --btn-bg: var(--brand-secondary);
        --btn-bg-hover: #6fd0f4;
        --btn-fg: var(--brand-primary);
        --input-bg: #0f1c29;
        --row-hover: #16293a;
        --border-strong: #34506a;
        --danger-border: #5a2430;
        --warning-border: #b98a1c;
        --chip-bg: #1e3244;
        --chip-fg: #b6c6d4;
        --chip-muted-fg: #9fb0bf;
        --bar-fill: #2a5f78;
        --login-tab-bg: #1a2b3b;
        --sidebar-bg-1: #08121c;
        --sidebar-bg-2: #0d1b28;
        --control-border: #2c4256;
        --control-hover: #3f5a72;
        --seg-bg: #0f1c29;
        --seg-active: #1e3244;
        --scroll-thumb: #2c4256;
        --select-arrow: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2393a4b5%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");
    }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font: 14px/1.6 var(--font-base);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
a { color: var(--link); }
a:hover { color: var(--brand-accent); }
h1, h2, h3 { line-height: 1.25; font-weight: 600; }
code { background: var(--surface-2); border: 1px solid var(--border); border-radius: 4px; padding: 1px 5px; font-size: 12px; word-break: break-all; }
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.inline { display: inline; }
.muted { color: var(--muted); }
.nowrap { white-space: nowrap; }

.icon { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.2em; }
.icon--lg { width: 1.6em; height: 1.6em; }

/* ---------- Marka (kenar menü ve giriş ekranı) ---------- */
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text); min-width: 0; }
.brand:hover { color: var(--text); }
.brand__logo { height: 54px; width: auto; }
.brand__mark {
    display: grid; place-items: center; width: 50px; height: 50px; border-radius: 12px; flex: none;
    background: linear-gradient(135deg, var(--brand-primary-2), var(--brand-primary)); color: #fff;
    font-weight: 700; font-size: 17px; letter-spacing: .02em; box-shadow: inset 0 -3px 0 var(--brand-secondary);
}
.brand__text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.brand__text strong { font-size: 15px; font-weight: 700; color: var(--heading); }
.brand__text small { color: var(--muted); font-size: 12px; }

/* ---------- Kenar menü ---------- */
.app { flex-direction: row; }
.sidebar {
    position: sticky; top: 0; height: 100vh; width: var(--sidebar-w); flex: none; z-index: 30;
    display: flex; flex-direction: column; background: linear-gradient(180deg, var(--sidebar-bg-1), var(--sidebar-bg-2));
    color: #c9d6e2; transition: width .2s ease;
}
.sidebar__brand { padding: 22px 18px 20px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.sidebar__brand .brand__logo { height: 44px; width: 44px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255, 255, 255, .18); flex: none; }
.sidebar__brand .brand__mark { width: 42px; height: 42px; font-size: 15px; background: var(--brand-secondary); box-shadow: none; }
.sidebar__brand .brand__text strong { color: #fff; font-size: 14px; }
.sidebar__brand .brand__text small { color: #8fa6bb; }

.sidebar__nav { flex: 1; overflow-y: auto; padding: 14px 12px; display: flex; flex-direction: column; gap: 2px; }
.sidebar__nav a, .nav-group > summary {
    display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: var(--radius-sm);
    color: #c9d6e2; text-decoration: none; font-weight: 500; cursor: pointer; white-space: nowrap; position: relative;
}
.sidebar__nav .icon { width: 1.35em; height: 1.35em; color: var(--brand-secondary); }
.sidebar__nav a:hover, .nav-group > summary:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.sidebar__nav a.is-active, .nav-group.is-active > summary { background: rgba(69, 193, 239, .14); color: #fff; font-weight: 600; }
.sidebar__nav > a.is-active::before, .nav-group.is-active > summary::before,
.nav-group__body a.is-active::before {
    content: ""; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 4px; border-radius: 0 3px 3px 0; background: var(--brand-secondary);
}
.nav-group > summary { list-style: none; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary .icon--caret { margin-left: auto; width: 1em; height: 1em; color: #8fa6bb; transition: transform .15s; }
.nav-group[open] > summary .icon--caret { transform: rotate(180deg); }
.nav-group__body { display: flex; flex-direction: column; gap: 2px; padding: 2px 0 6px 22px; }
.nav-group__body a { padding: 8px 12px; font-size: 13px; }
/* Bulunulan sayfa, imleç üstündeyken olduğu gibi vurgulu kalır. */
.nav-group__body a.is-active { background: rgba(255, 255, 255, .06); color: #fff; }
.nav-group__body a.is-active::before { left: -34px; }
.nav-group__body .icon { width: 1.15em; height: 1.15em; }
.nav-group__title { display: none; }

.sidebar__user { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-top: 1px solid rgba(255, 255, 255, .08); }
.user__text { font-size: 12px; line-height: 1.3; color: #8fa6bb; min-width: 0; flex: 1; }
.user__text strong { display: block; color: #fff; font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user__avatar {
    width: 40px; height: 40px; border-radius: 50%; flex: none; display: grid; place-items: center;
    background: var(--brand-secondary); color: var(--brand-primary); font-weight: 700; font-size: 14px; letter-spacing: .02em;
}
.user__logout { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .15); background: transparent; color: #fff; cursor: pointer; }
.user__logout:hover { background: var(--brand-accent); border-color: var(--brand-accent); color: #fff; }

/* Daraltılmış kenar menü (masaüstü): yalnızca ikonlar */
.sidebar-collapsed .sidebar { width: var(--sidebar-w-collapsed); }
.sidebar-collapsed .sidebar__label, .sidebar-collapsed .brand__text, .sidebar-collapsed .nav-group > summary .icon--caret { display: none; }
.sidebar-collapsed .sidebar__brand { padding: 18px 0; justify-content: center; }
.sidebar-collapsed .sidebar__brand .brand__logo { height: 40px; width: 40px; }
.sidebar-collapsed .sidebar__nav { overflow: visible; padding: 14px 10px; }
.sidebar-collapsed .sidebar__nav > a, .sidebar-collapsed .nav-group > summary { justify-content: center; padding: 12px 0; }
.sidebar-collapsed .sidebar__nav > a.is-active::before, .sidebar-collapsed .nav-group.is-active > summary::before { left: -10px; }
.sidebar-collapsed .nav-group { position: relative; }
.sidebar-collapsed .nav-group__body {
    position: absolute; left: calc(100% + 14px); top: 0; min-width: 220px; padding: 8px;
    background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow);
}
.sidebar-collapsed .nav-group__title { display: block; padding: 4px 12px 6px; font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.sidebar-collapsed .nav-group__body a { color: var(--nav-fg); }
.sidebar-collapsed .nav-group__body a:hover { background: var(--bg); color: var(--heading); }
.sidebar-collapsed .nav-group__body a.is-active { background: var(--info-bg); color: var(--heading); }
.sidebar-collapsed .nav-group__body a.is-active::before { display: none; }
.sidebar-collapsed .sidebar__user { flex-direction: column; padding: 14px 0; }

.app-main { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.topbar { display: flex; align-items: center; gap: 14px; padding: 14px 16px 0; }
.topbar__title { display: none; font-weight: 600; color: var(--heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-toggle { display: grid; place-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 7px; cursor: pointer; color: var(--heading); }
.nav-toggle:hover { border-color: var(--brand-secondary); }
.nav-toggle .icon { width: 22px; height: 22px; }
.sidebar-backdrop { position: fixed; inset: 0; background: rgba(1, 24, 47, .5); z-index: 25; }
.sidebar-backdrop[hidden] { display: none; }

/* ---------- Sayfa başlığı ve breadcrumb ---------- */
.page-head { padding: 28px 0 8px; }
.breadcrumb { font-size: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; color: var(--muted); }
.breadcrumb a { color: var(--muted); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.breadcrumb a:hover { color: var(--brand-accent); }
.breadcrumb__sep { width: .9em; height: .9em; opacity: .6; }
.breadcrumb [aria-current] { color: var(--heading); font-weight: 500; }
.section-title { margin: 6px 0 0; font-size: 26px; font-weight: 700; color: var(--heading); word-break: break-word; display: flex; align-items: center; gap: 12px; }
.section-title::before { content: ""; width: 6px; height: 28px; border-radius: 3px; background: var(--brand-secondary); flex: none; }

.page-content { padding-top: 16px; padding-bottom: 48px; flex: 1; }

/* ---------- Kartlar, ızgara ---------- */
.card { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px; margin-bottom: 20px; }
.card > h2, .card__title { margin: 0 0 16px; font-size: 18px; color: var(--heading); }
.card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.card__head h2 { margin: 0; font-size: 18px; color: var(--heading); }
.grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); align-items: start; }

.stat { display: flex; align-items: center; gap: 16px; background: var(--surface); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.stat--link { text-decoration: none; color: inherit; transition: box-shadow .15s, transform .15s; }
.stat--link:hover { color: inherit; transform: translateY(-1px); box-shadow: 0 0 0 2px var(--brand-secondary), var(--shadow); }
.stat__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: var(--info-bg); color: var(--brand-secondary); flex: none; }
.stat__icon .icon { width: 26px; height: 26px; }
.stat__value { font-size: 28px; font-weight: 700; color: var(--heading); line-height: 1.1; }
.stat__label { color: var(--muted); font-size: 13px; }

.tile {
    display: flex; align-items: center; gap: 14px; padding: 16px; background: var(--surface);
    border: 1px solid var(--border); border-radius: var(--radius); text-decoration: none; color: var(--text);
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.tile:hover { border-color: var(--brand-secondary); box-shadow: var(--shadow); transform: translateY(-1px); color: var(--text); }
.tile__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--bg); color: var(--brand-accent); flex: none; }
.tile__icon .icon { width: 22px; height: 22px; }
.tile__name { font-weight: 600; word-break: break-word; color: var(--heading); }
.tile__meta { font-size: 12px; color: var(--muted); }

/* ---------- Butonlar ---------- */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px;
    border-radius: var(--radius-sm); border: 1px solid transparent; font: inherit; font-weight: 600; font-size: 13px;
    letter-spacing: .02em; cursor: pointer; text-decoration: none; background: var(--btn-bg); color: var(--btn-fg); white-space: nowrap;
    transition: background-color .15s, color .15s, border-color .15s;
}
.btn:hover { background: var(--btn-bg-hover); color: var(--btn-fg); }
.btn--secondary { background: var(--brand-secondary); }
.btn--secondary:hover { background: #2fb1e3; }
.btn--ghost { background: var(--surface); color: var(--heading); border-color: var(--border); }
.btn--ghost:hover { background: var(--bg); color: var(--heading); border-color: var(--border-strong); }
.btn--danger { background: var(--surface); color: var(--brand-accent); border-color: var(--danger-border); }
.btn--danger:hover { background: var(--brand-accent); border-color: var(--brand-accent); color: #fff; }
.btn--sm { padding: 6px 11px; font-size: 12px; }
.btn--block { width: 100%; }
.btn-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* ---------- Formlar ---------- */
.form-grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.field { display: flex; flex-direction: column; gap: 6px; }
.field + .field { margin-top: 14px; }
.form-grid .field + .field { margin-top: 0; }
.field label, .label { font-weight: 600; font-size: 13px; color: var(--heading); }
.field small { color: var(--muted); font-size: 12px; font-weight: 400; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=search], input[type=tel], input[type=url], input[type=file], select, textarea {
    width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm);
    font: inherit; background: var(--input-bg); color: var(--text); transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--brand-secondary); box-shadow: 0 0 0 3px rgba(69, 193, 239, .2); }
.btn:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 2px; }
textarea { min-height: 120px; resize: vertical; }
.check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
.check input { margin-top: 5px; }
.form-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.search { display: flex; gap: 8px; flex: 1; min-width: 220px; max-width: 480px; }

.input-icon { position: relative; }
.input-icon > .icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.input-icon > input { padding-left: 40px; }

/* ---------- Tablolar ---------- */
.table-wrap { overflow-x: auto; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.card .table-wrap { box-shadow: none; border: 1px solid var(--border); }
table.data { width: 100%; border-collapse: collapse; font-size: 13px; }
.data th, .data td { padding: 11px 14px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.data th { background: var(--surface-2); color: var(--heading); font-size: 12px; font-weight: 600; position: sticky; top: 0; white-space: nowrap; }
.data tbody tr:hover { background: var(--row-hover); }
.data td.cell { max-width: 300px; overflow-wrap: anywhere; }
.data td a strong { color: var(--heading); }
.data .rownum { color: var(--muted); font-size: 12px; width: 1%; white-space: nowrap; }
.data .actions { width: 1%; white-space: nowrap; }
.data tr:last-child td { border-bottom: 0; }
.file-name { display: inline-flex; align-items: center; gap: 8px; }
.file-name .icon { color: var(--brand-secondary); }

.badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .02em; }
.badge--sheet { background: var(--success-bg); color: var(--success); }
.badge--xlsx { background: var(--info-bg); color: var(--info); }
.badge--admin { background: var(--danger-bg); color: var(--brand-accent); }
.badge--editor { background: var(--chip-bg); color: var(--chip-fg); }

.tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 2px solid var(--border); margin-bottom: 16px; }
.tabs a { padding: 9px 16px; text-decoration: none; color: var(--muted); font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tabs a:hover { color: var(--heading); }
.tabs a.is-active { color: var(--heading); border-color: var(--brand-secondary); }

.pager { display: flex; gap: 6px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }

/* Satır içi açılır işlemler (taşı, yeniden adlandır) */
details.popover { position: relative; display: inline-block; }
details.popover > summary { list-style: none; }
details.popover > summary::-webkit-details-marker { display: none; }
details.popover[open] > .popover__body {
    position: absolute; right: 0; top: calc(100% + 6px); z-index: 10; width: min(320px, 80vw);
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px;
}
.popover__body form { display: flex; flex-direction: column; gap: 8px; }
/* Kaydırılabilir tablo içinde mutlak konum kırpılacağından açılır form satır içinde açılır. */
.table-wrap details.popover[open] > .popover__body { position: static; margin-top: 6px; width: 260px; white-space: normal; }

/* Klasör ağacı */
.tree { list-style: none; margin: 0; padding: 0; }
.tree li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--border); flex-wrap: wrap; }
.tree li:last-child { border-bottom: 0; }
.tree__name { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.tree__name .icon { color: var(--brand-accent); }
.tree__name a { color: var(--heading); text-decoration: none; }
.tree__name a:hover { color: var(--brand-accent); }

/* ---------- Bildirimler ---------- */
.alert { padding: 13px 16px; border-radius: var(--radius-sm); margin-bottom: 14px; border-left: 4px solid; font-size: 13px; }
.alert--success { background: var(--success-bg); border-color: var(--success); color: var(--success); }
.alert--danger { background: var(--danger-bg); border-color: var(--brand-accent); color: var(--brand-accent-dark); }
.alert--warning { background: var(--warning-bg); border-color: var(--warning-border); color: var(--warning); }
.alert--info { background: var(--info-bg); border-color: var(--brand-secondary); color: var(--info); }
.empty { text-align: center; padding: 40px 16px; color: var(--muted); }
.empty .icon--lg { color: var(--brand-secondary); width: 40px; height: 40px; margin-bottom: 6px; }

/* Etkinlik listesi */
.activity { list-style: none; margin: 0; padding: 0; }
.activity li { display: flex; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.activity li:last-child { border-bottom: 0; }
.activity__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--brand-secondary); margin-top: 6px; flex: none; box-shadow: 0 0 0 4px var(--info-bg); }
.activity strong { color: var(--heading); font-weight: 600; }
.activity time { color: var(--muted); font-size: 12px; display: block; }

/* ---------- Kişiler ---------- */
.filters { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); align-items: center; padding: 18px; }
.filters__search { grid-column: span 2; }
.filters .btn-row { grid-column: 1 / -1; justify-content: flex-end; }
@media (max-width: 520px) { .filters__search { grid-column: 1 / -1; } }

.bulkbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px 14px; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); }
.bulkbar select { width: auto; padding: 6px 10px; font-size: 13px; }
.bulkbar .check { margin-right: auto; font-size: 13px; }

.chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; margin: 1px 2px 1px 0; border-radius: 999px; font-size: 11px; font-weight: 500; background: var(--info-bg); color: var(--info); white-space: nowrap; }
.chip--tag { background: var(--chip-bg); color: var(--chip-fg); }
.chip--warn { background: var(--warning-bg); color: var(--warning); }
.badge--muted { background: var(--chip-bg); color: var(--chip-muted-fg); }
.badge--primary { background: var(--btn-bg); color: var(--btn-fg); font-size: 13px; padding: 5px 14px; }

.wa-link { display: inline-flex; vertical-align: middle; margin-left: 4px; color: #1fa855; }
.wa-link:hover { color: #128c3f; }
.btn--whatsapp { background: #1fa855; color: #fff; }
.btn--whatsapp:hover { background: #128c3f; color: #fff; }

.dl { display: grid; grid-template-columns: minmax(110px, max-content) 1fr; gap: 8px 18px; margin: 0; font-size: 13px; }
.dl dt { color: var(--muted); }
.dl dd { margin: 0; color: var(--heading); font-weight: 500; overflow-wrap: anywhere; }

.note-form { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 14px; }
.note-form textarea { min-height: 70px; }
.note { flex: 1; min-width: 0; }
.note__body { display: block; white-space: normal; overflow-wrap: anywhere; }
.icon-btn { background: none; border: 0; padding: 4px; color: var(--muted); cursor: pointer; border-radius: var(--radius-sm); }
.icon-btn:hover { color: var(--brand-accent); background: var(--danger-bg); }

.check-grid { display: grid; gap: 8px 16px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
.subhead { font-size: 15px; color: var(--heading); margin: 20px 0 10px; }
.unknown { margin: 0 0 8px; padding-left: 18px; font-size: 13px; }
.unknown li { margin-bottom: 6px; }
.data tr.is-muted td { opacity: .55; }
.sheet-toggle { font-size: 16px; }

/* Testler */
.data .actions .btn-row { flex-wrap: nowrap; }
.inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.inline-form select { width: auto; max-width: 100%; flex: 1; min-width: 180px; }
.filters--plain { padding: 0; box-shadow: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); }
.mini-stats { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: var(--muted); }
.mini-stats strong { color: var(--heading); font-size: 16px; margin-right: 2px; }
.type-card { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.type-card strong { color: var(--heading); margin-right: 6px; }
.type-card p { margin: 6px 0 0; font-size: 12px; }
.card__head h2 .icon, .card > h2 .icon { color: var(--brand-accent); }
.popover__body small { display: block; margin-top: 8px; font-size: 11px; line-height: 1.4; }

/* Raporlar */
.dist { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; }
.dist__row > summary { list-style: none; cursor: pointer; grid-template-columns: minmax(110px, 180px) 1fr 34px 110px; padding: 5px 6px; border-radius: var(--radius-sm); }
.dist__row > summary::-webkit-details-marker { display: none; }
.dist__row > summary:hover { background: var(--bg); }
.dist__row[open] > summary .bar__label { color: var(--heading); font-weight: 600; }
.dist__meta { font-size: 12px; color: var(--muted); }
.dist__people { margin: 4px 6px 10px; font-size: 13px; line-height: 1.8; }
.fit-list { margin: 10px 0 0; padding-left: 16px; font-size: 12px; max-height: 260px; overflow: auto; }
@media (max-width: 520px) { .dist__row > summary { grid-template-columns: 1fr 34px; } .dist__row .bar__track, .dist__meta { display: none; } }

/* Test sonucu */
.result__type { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.result__lists h3 { font-size: 13px; margin: 0 0 6px; color: var(--heading); }
.result__lists ul { margin: 0; padding-left: 18px; font-size: 13px; }
.bars { display: flex; flex-direction: column; gap: 7px; margin: 16px 0 18px; }
.bar { display: grid; grid-template-columns: minmax(110px, 160px) 1fr 34px; align-items: center; gap: 10px; font-size: 12px; }
.bar__label { color: var(--muted); }
.bar__track { height: 10px; border-radius: 5px; background: var(--bg); overflow: hidden; }
.bar__fill { display: block; height: 100%; border-radius: 5px; background: var(--bar-fill); }
.bar--top .bar__label { color: var(--heading); font-weight: 600; }
.bar--top .bar__fill { background: var(--brand-secondary); }
.bar__value { text-align: right; font-weight: 600; color: var(--heading); }

/* ---------- Onay penceresi ---------- */
.dialog { border: 0; border-radius: var(--radius); padding: 0; width: min(420px, calc(100vw - 32px)); box-shadow: 0 20px 60px rgba(1, 24, 47, .3); background: var(--surface); color: var(--text); }
.dialog::backdrop { background: rgba(1, 24, 47, .55); }
.dialog__body { padding: 26px 24px 8px; display: flex; gap: 16px; }
.dialog__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--danger-bg); color: var(--brand-accent); flex: none; }
.dialog__body p { margin: 10px 0 0; font-size: 14px; }
.dialog__actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px 22px; }

/* ---------- Giriş / kurulum ekranı ---------- */
.login {
    position: relative; min-height: 100vh; display: flex; align-items: center;
    background: var(--brand-primary) linear-gradient(135deg, var(--brand-primary-2), var(--brand-primary)) center / cover no-repeat;
}
.login::before { content: ""; position: absolute; inset: 0; background: var(--login-overlay); }
.login__wrap { position: relative; display: flex; align-items: center; justify-content: center; gap: 0; padding-block: 40px; }
.login__tabs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; align-self: center; }
.login__tabs li {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; position: relative;
    width: 130px; padding: 22px 12px; border-radius: 8px 0 0 8px; background: var(--login-tab-bg); color: var(--text);
    font-weight: 700; font-size: 13px; letter-spacing: .02em; text-align: center; overflow: hidden;
}
.login__tabs li::after { content: ""; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: #000; opacity: 0; }
.login__tabs li.is-active { background: var(--brand-secondary); color: #fff; }
.login__tabs li.is-active::after { opacity: .3; }
.login__tabs .icon { width: 44px; height: 44px; stroke-width: 1.5; }
.login__card { display: flex; width: min(820px, 100%); min-height: 450px; background: var(--surface); border-radius: 10px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.login__cover { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; width: 290px; flex: none; padding: 28px 24px; background: var(--login-cover); text-align: center; }
.login__cover::after {
    content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 6px;
    background: repeating-linear-gradient(180deg, var(--brand-secondary) 0 10px, transparent 10px 18px); opacity: .55;
}
.login__cover .brand { flex-direction: column; margin: 0; gap: 14px; }
.login__cover .brand__logo { width: 128px; height: 128px; border-radius: 50%; box-shadow: 0 6px 18px rgba(1, 24, 47, .18); }
.login__cover .brand__mark { width: 96px; height: 96px; border-radius: 22px; font-size: 32px; }
.login__cover .brand__text strong { font-size: 17px; }
.login__cover .brand__text small { font-size: 13px; margin-top: 4px; }
.login__org { font-size: 12px; color: var(--muted); }
.login__pane { flex: 1; padding: 34px 34px 28px; display: flex; flex-direction: column; min-width: 0; }
.login__title { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 18px; font-weight: 600; color: var(--heading); margin: 0 0 26px; }
.login__title small { font-size: 12px; font-weight: 500; color: var(--muted); }
.login__pane form { display: flex; flex-direction: column; gap: 16px; flex: 1; }
.login__pane .btn { padding: 13px 18px; font-size: 14px; letter-spacing: .04em; margin-top: 6px; }
.login__foot { margin-top: 22px; font-size: 12px; color: var(--muted); }
.login__foot a { color: var(--heading); font-weight: 500; }

/* ---------- Mobil ---------- */
@media (max-width: 960px) {
    /* Telefonda kenar menü soldan kayan çekmece olur; daraltma uygulanmaz. */
    .sidebar { position: fixed; left: 0; top: 0; bottom: 0; height: auto; transform: translateX(-100%); transition: transform .22s ease; }
    .sidebar.is-open { transform: none; box-shadow: 4px 0 24px rgba(0, 0, 0, .25); }
    .sidebar-collapsed .sidebar { width: var(--sidebar-w); }
    .sidebar-collapsed .sidebar__label { display: inline; }
    .sidebar-collapsed .brand__text { display: flex; }
    .sidebar-collapsed .nav-group > summary .icon--caret { display: inline; }
    .sidebar-collapsed .sidebar__brand { padding: 22px 18px 20px; justify-content: flex-start; }
    .sidebar-collapsed .sidebar__nav { overflow-y: auto; padding: 14px 12px; }
    .sidebar-collapsed .sidebar__nav > a, .sidebar-collapsed .nav-group > summary { justify-content: flex-start; padding: 11px 14px; }
    .sidebar-collapsed .nav-group__body { position: static; min-width: 0; padding: 2px 0 6px 22px; background: none; box-shadow: none; }
    .sidebar-collapsed .nav-group__title { display: none; }
    .sidebar-collapsed .nav-group__body a { color: #c9d6e2; }
    .sidebar-collapsed .sidebar__user { flex-direction: row; padding: 14px 16px; }
    .sidebar-collapsed .user__text { display: block; }
    .topbar { background: var(--surface); box-shadow: 0 0 4px rgba(0, 0, 0, .12); padding: 10px 16px; position: sticky; top: 0; z-index: 20; }
    .topbar__title { display: block; }
    .page-head { padding-top: 18px; }
    .brand__mark { width: 42px; height: 42px; font-size: 15px; }
    .section-title { font-size: 22px; }
    .login__wrap { flex-direction: column; align-items: stretch; }
    .login__tabs { flex-direction: row; align-self: stretch; }
    .login__tabs li { flex: 1; width: auto; flex-direction: row; padding: 14px; border-radius: 8px 8px 0 0; }
    .login__tabs li::after { width: 100%; height: 4px; }
    .login__tabs .icon { width: 24px; height: 24px; }
    .login__card { flex-direction: column; min-height: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
    .login__cover { width: auto; padding: 22px; }
    .login__cover::after { top: auto; left: 0; height: 6px; width: auto; background: repeating-linear-gradient(90deg, var(--brand-secondary) 0 10px, transparent 10px 18px); }
    .login__cover .brand { flex-direction: row; text-align: left; }
    .login__cover .brand__mark { width: 56px; height: 56px; font-size: 20px; border-radius: 14px; }
    .login__cover .brand__logo { width: 64px; height: 64px; }
    .login__org { display: none; }
}
@media (max-width: 520px) {
    .brand__text small { display: none; }
    .brand__text strong { font-size: 13px; }
    .card { padding: 18px; }
    .search { max-width: none; }
    .login__pane { padding: 24px 20px; }
    .dialog__body { padding: 22px 18px 4px; }
    .dialog__actions { padding: 16px 18px 18px; }
}

/* ---------- Formu kişilere atama (test sayfası) ---------- */
.assign__radio { position: absolute; opacity: 0; pointer-events: none; }
.assign__tabs label { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; cursor: pointer; color: var(--muted); font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.assign__tabs label:hover { color: var(--heading); }
#assign-pick:checked ~ .assign__tabs label[for="assign-pick"],
#assign-filter:checked ~ .assign__tabs label[for="assign-filter"] { color: var(--heading); border-color: var(--brand-secondary); }
.assign__radio:focus-visible ~ .assign__tabs label { outline-offset: 2px; }
.assign__pane { display: none; }
#assign-pick:checked ~ .assign__pane--pick,
#assign-filter:checked ~ .assign__pane--filter { display: block; }
.assign__all { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.assign__all p { margin: 0; flex: 1 1 280px; font-size: 13px; }

.picker__tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.picker__search { flex: 1 1 260px; max-width: 420px; }
.picker__list { max-height: 420px; overflow-y: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.picker__row { display: grid; grid-template-columns: 20px minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1.2fr) auto; gap: 12px; align-items: center; padding: 9px 14px; border-bottom: 1px solid var(--border); cursor: pointer; }
.picker__row:last-of-type { border-bottom: 0; }
.picker__row:hover { background: var(--surface-2); }
.picker__row:has(input:checked) { background: var(--info-bg); }
.picker__row input { width: 16px; height: 16px; margin: 0; }
.picker__row[hidden] { display: none; }
.picker__name { font-weight: 600; color: var(--heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.picker__meta { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.picker__list .empty { margin: 0; padding: 24px; }
.picker__bar { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; padding: 12px 0 0; background: var(--surface); border-top: 1px solid var(--border); }
.picker__bar strong { color: var(--heading); font-size: 16px; }
@media (max-width: 640px) {
    .picker__row { grid-template-columns: 20px minmax(0, 1fr) auto; }
    .picker__row .picker__meta { display: none; }
}

.test-checks { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.test-select { padding: 14px 20px; }
.test-select__hint { display: inline-flex; align-items: center; gap: 6px; color: var(--brand-accent); font-weight: 600; font-size: 13px; }
.test-select__hint[hidden] { display: none; }
.test-card__check { align-items: center; gap: 12px; cursor: pointer; }
.test-card__check input { margin: 0; width: 18px; height: 18px; }
.test-card__check h2 { margin: 0; }
.test-card:has([data-test-check]:checked) { box-shadow: 0 0 0 2px var(--brand-secondary), var(--shadow); }
.test-checks__all { padding-bottom: 6px; margin-bottom: 2px; border-bottom: 1px solid var(--border); font-weight: 600; }

/* ---------- Tema anahtarı (açık / koyu) ---------- */
.theme-switch {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 16px; border: 0; background: none;
    color: #c9d6e2; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; text-align: left;
}
.theme-switch:hover { color: #fff; }
.theme-switch:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: -2px; }
.theme-switch__label { flex: 1; }
.theme-switch__track {
    position: relative; flex: none; width: 46px; height: 24px; border-radius: 999px;
    background: rgba(255, 255, 255, .16); transition: background-color .2s;
}
.theme-switch__thumb {
    position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center;
    background: #fff; color: #e0a100; transition: transform .2s;
}
.theme-switch__thumb .icon { width: 12px; height: 12px; stroke-width: 2.4; }
.theme-switch__thumb .icon--moon { display: none; }
.theme-switch[aria-checked="true"] .theme-switch__track { background: var(--brand-secondary); }
.theme-switch[aria-checked="true"] .theme-switch__thumb { transform: translateX(22px); color: var(--brand-primary); }
.theme-switch[aria-checked="true"] .icon--sun { display: none; }
.theme-switch[aria-checked="true"] .icon--moon { display: block; }
.sidebar .theme-switch { border-top: 1px solid rgba(255, 255, 255, .08); }
.sidebar-collapsed .theme-switch { justify-content: center; padding: 12px 0; }
@media (max-width: 960px) {
    .sidebar-collapsed .theme-switch { justify-content: flex-start; padding: 10px 16px; }
}
/* Giriş ekranında sağ üst köşe */
.login__theme { position: absolute; top: 18px; right: 18px; z-index: 1; width: auto; color: #fff; }

/* =====================================================================
 * Sade bileşenler: önceki kuralların üzerine yazar (ince kenarlık, yumuşak odak halkası, düz yüzeyler).
 * ===================================================================== */
:root { --radius: 12px; --radius-sm: 8px; --ring: 0 0 0 3px rgba(69, 193, 239, .22); }

/* Kaydırma çubukları */
* { scrollbar-width: thin; scrollbar-color: var(--scroll-thumb) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--scroll-thumb); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }

/* Kartlar: gölge yerine ince kenarlık */
.card, .stat, .table-wrap, .bulkbar { box-shadow: none; border: 1px solid var(--border); }
.card .table-wrap { border-color: var(--border); }
.stat--link:hover { box-shadow: 0 0 0 1px var(--brand-secondary); border-color: var(--brand-secondary); }
.test-card:has([data-test-check]:checked) { box-shadow: 0 0 0 1px var(--brand-secondary); border-color: var(--brand-secondary); }

/* Metin girdileri, select, textarea */
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=search], input[type=tel], input[type=url], select, textarea {
    min-height: 42px; padding: 9px 13px; border: 1px solid var(--control-border); border-radius: var(--radius-sm);
    background-color: var(--input-bg); transition: border-color .15s, box-shadow .15s;
}
input:hover, select:hover, textarea:hover { border-color: var(--control-hover); }
input:focus, select:focus, textarea:focus { border-color: var(--brand-secondary); box-shadow: var(--ring); }
::placeholder { color: var(--muted); opacity: .75; }
select {
    appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
    background-image: var(--select-arrow); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px;
}
.bulkbar select { min-height: 34px; padding: 5px 34px 5px 11px; background-position: right 9px center; }

/* Dosya girdisi */
input[type=file] { padding: 6px; border: 1px dashed var(--control-border); border-radius: var(--radius-sm); background: var(--input-bg); color: var(--muted); font-size: 13px; cursor: pointer; }
input[type=file]:hover { border-color: var(--brand-secondary); }
input[type=file]::file-selector-button {
    margin-right: 12px; padding: 7px 14px; border: 1px solid var(--control-border); border-radius: 6px;
    background: var(--surface); color: var(--heading); font: inherit; font-weight: 500; cursor: pointer; transition: border-color .15s;
}
input[type=file]::file-selector-button:hover { border-color: var(--brand-secondary); }

/* Checkbox ve radio */
input[type=checkbox], input[type=radio] {
    appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: 0; display: inline-grid; place-content: center;
    border: 1.5px solid var(--control-border); background: var(--input-bg); cursor: pointer; vertical-align: -3px;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
input[type=checkbox] { border-radius: 5px; }
input[type=radio] { border-radius: 50%; }
input[type=checkbox]:hover, input[type=radio]:hover { border-color: var(--control-hover); }
input[type=checkbox]:focus-visible, input[type=radio]:focus-visible { outline: none; border-color: var(--brand-secondary); box-shadow: var(--ring); }
input[type=checkbox]::before {
    content: ""; width: 10px; height: 10px; background: #fff; transform: scale(0); transition: transform .12s ease-out;
    clip-path: polygon(14% 44%, 0 59%, 40% 100%, 100% 23%, 86% 9%, 39% 70%);
}
input[type=checkbox]:checked, input[type=checkbox]:indeterminate { background: var(--brand-secondary); border-color: var(--brand-secondary); }
input[type=checkbox]:checked::before { transform: scale(1); }
input[type=checkbox]:indeterminate::before { transform: scale(1); clip-path: inset(40% 10% 40% 10% round 2px); }
input[type=radio]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-secondary); transform: scale(0); transition: transform .12s ease-out; }
input[type=radio]:checked { border-color: var(--brand-secondary); }
input[type=radio]:checked::before { transform: scale(1); }
input[type=checkbox]:disabled, input[type=radio]:disabled { opacity: .45; cursor: not-allowed; }
.check { align-items: center; cursor: pointer; }
.check input { margin-top: 0; }
.assign__radio { appearance: auto; position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }

/* Butonlar */
.btn { min-height: 40px; padding: 9px 18px; border-radius: var(--radius-sm); font-weight: 500; letter-spacing: .01em; }
.btn--sm { min-height: 32px; padding: 5px 12px; }
.btn:active { transform: translateY(1px); }
.btn--ghost { background: transparent; border-color: var(--control-border); }
.btn--ghost:hover { background: var(--surface-2); border-color: var(--control-hover); }
.btn--danger { background: transparent; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.login__pane .btn { font-weight: 600; text-transform: uppercase; }
.nav-toggle { border-radius: var(--radius-sm); border-color: var(--control-border); background: transparent; }

/* Tablolar */
.data th { background: transparent; color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; padding-top: 12px; padding-bottom: 12px; }
.data td { padding-top: 13px; padding-bottom: 13px; }
.data tbody tr { transition: background-color .12s; }

/* Rozet ve chip */
.badge { border-radius: 6px; font-weight: 500; padding: 3px 9px; }
.chip { border-radius: 6px; }

/* Sekmeler: ince alt çizgi */
.tabs { border-bottom-width: 1px; }
.tabs a { border-bottom-width: 2px; margin-bottom: -1px; font-weight: 500; }
.tabs a.is-active { font-weight: 600; }

/* Atama sekmeleri: segment kontrol */
.assign__tabs { display: inline-flex; gap: 2px; padding: 3px; margin-bottom: 16px; border: 0; border-radius: 10px; background: var(--seg-bg); flex-wrap: wrap; }
.assign__tabs label { border: 0; margin: 0; padding: 7px 14px; border-radius: 8px; font-weight: 500; font-size: 13px; transition: background-color .15s, color .15s; }
#assign-pick:checked ~ .assign__tabs label[for="assign-pick"],
#assign-filter:checked ~ .assign__tabs label[for="assign-filter"] { background: var(--seg-active); color: var(--heading); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.assign__radio:focus-visible ~ .assign__tabs { box-shadow: var(--ring); }

/* Uyarılar: yuvarlak, kenarlıksız */
.alert { border-left: 0; border-radius: var(--radius-sm); padding: 12px 16px; }

/* Açılır pencere ve onay penceresi */
details.popover[open] > .popover__body { border-radius: var(--radius); box-shadow: 0 12px 32px rgba(1, 24, 47, .12); }
.dialog { border: 1px solid var(--border); border-radius: 14px; }
.picker__list { border-color: var(--border); border-radius: var(--radius-sm); }
.picker__row input { width: 18px; height: 18px; }
.input-icon > input { padding-left: 40px; }

/* ---------- Testler: eşit kartlar, sekmeler, inceleme ---------- */
.test-grid { align-items: stretch; }
.test-card { display: flex; flex-direction: column; margin-bottom: 0; }
.test-card__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.6em * 3); }
.test-card .mini-stats { margin-bottom: 4px; }
.test-card__actions { margin-top: auto; padding-top: 18px; }
[data-check-group] { margin-bottom: 20px; }


.page-tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--border); margin-bottom: 18px; }
.page-tabs a {
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; margin-bottom: -1px;
    color: var(--muted); text-decoration: none; font-weight: 500; border-bottom: 2px solid transparent;
}
.page-tabs a:hover { color: var(--heading); }
.page-tabs a.is-active { color: var(--heading); font-weight: 600; border-color: var(--brand-secondary); }
.page-tabs .icon { width: 1.1em; height: 1.1em; }

.mini-grid { margin-bottom: 18px; }
.mini-grid .stat { padding: 14px 16px; }
.mini-grid .stat__icon { width: 40px; height: 40px; border-radius: 10px; }
.mini-grid .stat__icon .icon { width: 20px; height: 20px; }
.mini-grid .stat__value { font-size: 22px; }

.scale { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
.scale__step { display: flex; flex-direction: column; align-items: center; min-width: 64px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.scale__step strong { color: var(--heading); font-size: 16px; }
.scale__step small { color: var(--muted); font-size: 11px; text-align: center; }

.question-list, .answer-list { margin: 0; padding-left: 28px; }
.question-list li, .answer-list li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.question-list li:last-child, .answer-list li:last-child { border-bottom: 0; }
.question-list li::marker, .answer-list li::marker { color: var(--muted); font-size: 12px; }
.question-list li { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.question-list__tags { display: flex; gap: 4px; flex-wrap: wrap; }
.answer-list li { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.answer-list__text { flex: 1; min-width: 0; }
.answer-list__text small { display: block; }
.dots { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.dots__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--seg-bg); border: 1px solid var(--border); }
.dots__dot.is-on { background: var(--brand-secondary); border-color: var(--brand-secondary); }
.dots strong { width: 18px; text-align: right; color: var(--heading); font-size: 13px; }
.type-card__lists { display: grid; gap: 10px; margin-top: 10px; }

.person-strip { display: flex; align-items: center; gap: 14px; padding: 16px 20px; }
.person-strip > div { flex: 1; min-width: 0; }
.person-strip strong { color: var(--heading); font-size: 16px; }
.rate-cell { display: flex; align-items: center; gap: 8px; min-width: 140px; }
.rate-cell .bar__track { flex: 1; }

.ai-note { margin: 10px 0 4px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--info-bg); color: var(--text); }
.ai-note__label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--info); }
.ai-note p { margin: 6px 0 0; font-size: 13px; }
@media (max-width: 640px) { .answer-list li { flex-direction: column; align-items: flex-start; } }

/* ---------- Testler > Otomatik (yapay zekâ) ---------- */
.stat__value--sm { font-size: 17px; line-height: 1.3; }
.text-danger { color: var(--brand-accent); }
.setup-card h2 { display: flex; align-items: center; gap: 8px; }
.setup-card pre { margin: 10px 0 14px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); overflow-x: auto; }
.setup-card pre code { background: none; border: 0; padding: 0; font-size: 13px; }

.ai-command { display: flex; flex-direction: column; gap: 16px; }
.ai-command__all { font-weight: 600; margin-bottom: 10px; }
.ai-tasks { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.ai-task {
    display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm);
    cursor: pointer; transition: border-color .15s, background-color .15s;
}
.ai-task:hover { border-color: var(--control-hover); }
.ai-task:has(input:checked) { border-color: var(--brand-secondary); background: var(--info-bg); }
.ai-task input { margin-top: 2px; }
.ai-task.is-disabled { opacity: .6; cursor: not-allowed; }
.ai-task.is-disabled:hover { border-color: var(--border); }
.ai-task strong { display: block; color: var(--heading); font-weight: 600; }
.ai-task small { display: block; color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 3px; }
.ai-design { border: 1px dashed var(--control-border); border-radius: var(--radius-sm); padding: 12px 16px 16px; margin: 0; }
.ai-design[hidden] { display: none; }
.ai-design legend { padding: 0 6px; font-size: 13px; font-weight: 600; color: var(--heading); }
.ai-newyear { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); font-size: 13px; }
.plan-list { margin: 0 0 12px; padding-left: 18px; font-size: 13px; line-height: 1.8; }
.message-cell { max-width: 520px; font-size: 13px; }
.run-summary { font-size: 12px; line-height: 1.7; max-width: 420px; }
.ai-working { display: flex; align-items: center; gap: 10px; }
.spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: spin .8s linear infinite; flex: none; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Yeni yıl kutlama kartı */
.celebration {
    position: relative; overflow: hidden; margin-bottom: 20px; padding: 28px 28px 24px; border-radius: var(--radius); color: #fff;
    background: radial-gradient(circle at 85% 20%, rgba(69, 193, 239, .45), transparent 45%), linear-gradient(135deg, #032a43, #01182f 60%, #2a0a2e);
}
.celebration[hidden] { display: none; }
.celebration h2 { margin: 6px 0 8px; font-size: 24px; color: #fff; }
.celebration p { margin: 0 0 10px; max-width: 760px; color: #dbe7f1; }
.celebration small { color: #9fb6c9; }
.celebration__year { display: inline-block; padding: 3px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); font-weight: 700; letter-spacing: .08em; }
.celebration__close { position: absolute; top: 10px; right: 12px; color: #fff; font-size: 22px; line-height: 1; z-index: 1; }
.celebration__close:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.celebration__confetti i { position: absolute; top: -10px; width: 7px; height: 12px; border-radius: 2px; opacity: .85; animation: confetti 6s linear infinite; }
.celebration__confetti i:nth-child(3n) { background: var(--brand-secondary); }
.celebration__confetti i:nth-child(3n+1) { background: #f6c945; }
.celebration__confetti i:nth-child(3n+2) { background: #f0627a; }
.celebration__confetti i:nth-child(1) { left: 6%; animation-delay: 0s; } .celebration__confetti i:nth-child(2) { left: 14%; animation-delay: 1.8s; }
.celebration__confetti i:nth-child(3) { left: 23%; animation-delay: .9s; } .celebration__confetti i:nth-child(4) { left: 31%; animation-delay: 3.1s; }
.celebration__confetti i:nth-child(5) { left: 42%; animation-delay: 2.2s; } .celebration__confetti i:nth-child(6) { left: 51%; animation-delay: .4s; }
.celebration__confetti i:nth-child(7) { left: 60%; animation-delay: 4s; } .celebration__confetti i:nth-child(8) { left: 68%; animation-delay: 1.2s; }
.celebration__confetti i:nth-child(9) { left: 76%; animation-delay: 2.7s; } .celebration__confetti i:nth-child(10) { left: 84%; animation-delay: .2s; }
.celebration__confetti i:nth-child(11) { left: 91%; animation-delay: 3.6s; } .celebration__confetti i:nth-child(12) { left: 97%; animation-delay: 1.5s; }
@keyframes confetti { 0% { transform: translateY(0) rotate(0); } 100% { transform: translateY(260px) rotate(540deg); } }
@media (prefers-reduced-motion: reduce) { .celebration__confetti, .spinner { animation: none; } .celebration__confetti { display: none; } }
.stat__action { margin-top: 6px; }

/* ---------- Adaylar, açık başvuru, kişi listeleri ---------- */
.public-link { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin: 12px 0 16px; }
.public-link__qr { width: 150px; height: 150px; flex: none; padding: 6px; border-radius: var(--radius-sm); background: #fff; border: 1px solid var(--border); }
.public-link__qr svg { display: block; width: 100%; height: 100%; }
.public-link__qr svg .dark { fill: #01182f; }
.public-link__qr svg .light { fill: #fff; }
.public-link__body { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 10px; }
.public-link__body input { font-size: 12px; }
.chip--featured { background: #fff4d6; color: #8a5a00; margin-left: 4px; }
.chip--featured .icon { width: 1em; height: 1em; }
.candidates-table tr.is-featured td:first-child { box-shadow: inset 3px 0 0 #e0a100; }
.cand-test { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; margin-bottom: 4px; }
.cand-test .wa-link { margin: 0; padding: 0 2px; }
.invite-form { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.invite-form .form-grid { width: 100%; }
.list-choice { margin-top: 18px; max-width: 520px; }
:root[data-theme="dark"] .chip--featured { background: #3a2e10; color: #f0c060; }
.qr-card { display: flex; flex-direction: column; margin-bottom: 0; }
.qr-card__actions { margin-top: auto; padding-top: 12px; }
.qr-card .public-link { margin-top: 4px; }

.apply-card__import { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 14px; margin: 4px 0 14px; border-radius: var(--radius-sm); background: var(--surface-2); }
.apply-card__tests { margin-top: 8px; }

/* ---------- Google Hesapları > bağlantı ayarları ---------- */
.google-setup { margin-top: 20px; align-items: start; }

/* Otomatik görevler: mesaj şablonları */
.template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.template-grid .form-actions { grid-column: 1 / -1; margin: 0; }
.template-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.template-field code { font-size: 11.5px; }
.template-preview { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); font-size: 13px; line-height: 1.5; }
@media (max-width: 800px) { .template-grid { grid-template-columns: 1fr; } }

/* Formlar: soru editörü, soru önizlemesi, incelenecek yanıtlar, QR */
.form-editor h2 { margin-top: 18px; }
.form-editor h2:first-of-type { margin-top: 0; }
.access-choice { border: 0; padding: 0; margin: 10px 0 0; display: flex; flex-direction: column; gap: 6px; }
.access-choice legend { font-weight: 600; font-size: 13px; color: var(--heading); margin-bottom: 4px; }
.q-editor { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.q-list { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.q-row { margin: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.q-row__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.q-row__num { font-weight: 600; font-size: 13px; color: var(--heading); }
.q-row__tools { display: flex; gap: 4px; }
.q-row__tools .q-up { transform: rotate(90deg); }
.q-row__tools .q-down { transform: rotate(90deg); }
.q-row__grid { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 10px; }
.q-row .field { margin: 0; }
.q-row__foot { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.q-row__foot input[type=text] { flex: 1; min-width: 180px; }
.q-row__options textarea { min-height: 0; }
.q-row__options[hidden] { display: none; }
.q-row--compact { gap: 6px; padding: 10px 14px; }
.type-lists { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.type-lists .field { margin: 0; }
@media (max-width: 900px) { .type-lists { grid-template-columns: 1fr; } }
.q-preview { margin: 6px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.review-list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.review-item { padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.review-item__actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.review-item__actions select { max-width: 100%; }
.qr-card img { display: block; margin: 6px 0 10px; border-radius: var(--radius-sm); background: #fff; padding: 6px; }
@media (max-width: 700px) {
    .q-row__grid, .review-item { grid-template-columns: 1fr; }
}

/* Google kurulum aşamaları: tamamlanan (yeşil tik), şu anki (vurgulu), sıradaki (soluk). */
.setup-progress { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; counter-reset: none; }
.setup-progress__step { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--border); color: var(--muted); font-size: 13px; }
.setup-progress__step strong { display: block; color: var(--heading); font-size: 13.5px; }
.setup-progress__step small { display: block; font-size: 12px; line-height: 1.4; }
.setup-progress__dot { flex: none; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; background: var(--surface-2); border: 1px solid var(--border); color: var(--muted); }
.setup-progress__dot .icon { width: 14px; height: 14px; }
.setup-progress__step.is-current { border-color: var(--brand-secondary); box-shadow: 0 0 0 1px var(--brand-secondary) inset; color: var(--text, inherit); }
.setup-progress__step.is-current .setup-progress__dot { background: var(--brand-secondary); border-color: var(--brand-secondary); color: #fff; }
.setup-progress__step.is-done .setup-progress__dot { background: var(--success); border-color: var(--success); color: #fff; }

/* Bağlı hesaplar ve API sınama sonuçları */
.account-list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.account-item { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); display: flex; flex-direction: column; gap: 10px; }
.account-item__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.account-item__head .btn-row { display: flex; gap: 8px; flex-wrap: wrap; }
.account-item--off { border-style: dashed; background: var(--surface-2, transparent); }
.account-item--off > .account-item__head strong { color: var(--muted); }
.account-item__note { display: flex; gap: 6px; align-items: flex-start; }
.account-item .alert { margin: 0; }
.api-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; }
.api-checks li { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.api-checks .badge { display: inline-flex; align-items: center; gap: 4px; }
.api-checks .badge .icon { width: 12px; height: 12px; }
.api-checks a { font-size: 13px; font-weight: 500; color: var(--link, var(--brand-secondary)); display: inline-flex; align-items: center; gap: 4px; }

/* Kurulum rehberi (açılır kart) */
.setup-guide > summary { list-style: none; cursor: pointer; }
.setup-guide > summary::-webkit-details-marker { display: none; }
.setup-guide > summary h2 { margin: 0; }
.setup-guide[open] > summary { margin-bottom: 8px; }
.setup-guide > summary h2::after { content: "▾"; margin-left: auto; color: var(--muted); font-size: 14px; transition: transform .15s; }
.setup-guide:not([open]) > summary h2::after { transform: rotate(-90deg); }
.setup-steps .copy-row { margin: 6px 0 4px; }
.setup-steps small { display: block; }
.api-links { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
.api-links .btn .icon { width: 13px; height: 13px; }
.audience-choice { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.audience-help { display: none; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); font-size: 13px; }
.audience-choice:has(input[value="internal"]:checked) .audience-help--internal,
.audience-choice:has(input[value="external"]:checked) .audience-help--external { display: block; }
.setup-errors-box { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.setup-errors-box > summary { cursor: pointer; font-size: 13.5px; }
.badge .icon { width: 12px; height: 12px; vertical-align: -1px; }
@media (max-width: 900px) {
    .setup-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .setup-progress { grid-template-columns: 1fr; }
}
.copy-row { display: flex; gap: 8px; }
.copy-row input { flex: 1; min-width: 0; font-family: ui-monospace, Consolas, monospace; font-size: 12.5px; }
.setup-card details.field summary { cursor: pointer; font-size: 13px; }
.setup-card details.field[open] summary { margin-bottom: 6px; }
.setup-steps { margin: 6px 0 14px; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; line-height: 1.55; }
.setup-steps a, .setup-errors a { color: var(--link, var(--brand-secondary)); font-weight: 500; }
.setup-card details > summary { cursor: pointer; }
.setup-errors { margin: 10px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--muted); }
.setup-errors code { font-size: 12px; }

/* =====================================================================
 * Mobil odaklı düzen: taşma koruması, telefonda okunabilir yazı, dokunmaya uygun
 * kontroller ve kart listesine dönen tablolar. Önceki kuralların üzerine yazar.
 * ===================================================================== */
html, body { overflow-x: clip; }
img, video { max-width: 100%; }
.card, .alert, .tile, .dl dd, .breadcrumb, .page-head, .activity li > div, .tree__name { overflow-wrap: break-word; }
.filters__toggle { display: none; }

/* Uzun listeler (içe aktarma önizlemesi): sayfa uzamasın, tablo kendi içinde kaysın; başlık satırı sabit kalır. */
div.table-wrap.table-wrap--tall { max-height: 60vh; overflow-y: auto; } /* mobil .table-wrap:not(...) kuralını da geçer */

/* Yatay kaydırmalı kalan tablolar (Drive tablosu, içe aktarma örneği): kenar gölgesi kaydırılabildiğini gösterir. */
.table-wrap--scroll {
    background:
        linear-gradient(to right, var(--surface) 30%, transparent) left / 40px 100% no-repeat local,
        linear-gradient(to left, var(--surface) 30%, transparent) right / 40px 100% no-repeat local,
        radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .16), transparent) left / 12px 100% no-repeat scroll,
        radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .16), transparent) right / 12px 100% no-repeat scroll;
    background-color: var(--surface);
}

@media (max-width: 640px) {
    /* Okunabilirlik: gövde 15px; girdiler 16px olduğundan iOS odaklanınca yakınlaştırmaz. */
    body { font-size: 15px; }
    input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=search], input[type=tel], input[type=url], select, textarea { font-size: 16px; min-height: 46px; }
    .bulkbar select { font-size: 15px; min-height: 42px; }
    .field small, .tile__meta, .stat__label, .activity time, .mini-stats, .breadcrumb { font-size: 13px; }
    .field label, .label { font-size: 14px; }
    .alert { font-size: 14px; }

    /* Başlık ve boşluklar */
    .topbar { padding: 8px 16px; gap: 12px; }
    .topbar__title { font-size: 14px; }
    .nav-toggle { width: 44px; height: 44px; }
    .page-head { padding: 14px 0 4px; }
    .breadcrumb { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
    .breadcrumb::-webkit-scrollbar { display: none; }
    .section-title { font-size: 20px; gap: 10px; }
    .section-title::before { height: 22px; width: 5px; }
    .page-content { padding-top: 12px; }
    .card { padding: 16px; margin-bottom: 14px; }
    .card > h2, .card__title, .card__head h2 { font-size: 17px; }
    .card__head > *, .toolbar > *, .btn-row > * { min-width: 0; }

    /* Butonlar: dokunmaya uygun, uzun metin satır kırar */
    .btn { white-space: normal; text-align: center; min-height: 44px; line-height: 1.3; }
    .btn--sm { min-height: 38px; }
    .form-actions > .btn, .form-actions > a.btn { flex: 1 1 100%; }
    .toolbar { flex-direction: column; align-items: stretch; }
    .toolbar > .btn-row > .btn { flex: 1 1 0; }
    .search { min-width: 0; max-width: none; }
    .chip { white-space: normal; }
    .dialog__actions > * { flex: 1; }

    /* Sekmeler tek satırda yatay kayar */
    .tabs, .page-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .tabs::-webkit-scrollbar, .page-tabs::-webkit-scrollbar { display: none; }
    .tabs a, .page-tabs a { flex: none; white-space: nowrap; }
    .assign__tabs { display: flex; width: 100%; }
    .assign__tabs label { flex: 1; justify-content: center; }

    /* Izgaralar tek sütun; istatistik kartları iki sütun ve kompakt */
    .grid, .grid--2, .grid--3, .form-grid, .check-grid, .ai-tasks { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .grid:has(> .stat), .mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .grid:has(> .stat) > .stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .stat, .mini-grid .stat { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
    .stat__icon, .mini-grid .stat__icon { width: 38px; height: 38px; border-radius: 10px; }
    .stat__icon .icon, .mini-grid .stat__icon .icon { width: 20px; height: 20px; }
    .stat__value, .mini-grid .stat__value { font-size: 22px; }
    .stat__value--sm { font-size: 15px; }

    /* Kişi filtreleri: arama açık, diğer seçimler "Filtreler" düğmesiyle açılır */
    .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; padding: 14px; gap: 10px; }
    .filters > * { grid-column: 1 / -1; }
    .filters .filters__toggle { display: inline-flex; grid-column: 1; }
    .filters > .btn-row { grid-column: 2; }
    .filters > .btn-row > .btn { flex: 1 1 0; }
    .filters:not(.is-open) > select { display: none; }
    .filters.is-open > .btn-row { grid-column: 1 / -1; }
    .filters--plain { grid-template-columns: minmax(0, 1fr); padding: 0; }

    /* Bileşenler */
    .dl { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .dl dt { font-size: 12px; }
    .dl dd { margin-bottom: 10px; font-size: 14px; }
    .bar { grid-template-columns: minmax(0, 1fr) 34px; row-gap: 4px; }
    .bar__track { grid-column: 1 / -1; order: 1; }
    .rate-cell { min-width: 0; }
    .inline-form select { min-width: 0; flex: 1 1 100%; }
    .public-link { flex-direction: column; align-items: stretch; }
    .public-link__qr { align-self: center; }
    .public-link__body { min-width: 0; }
    .copy-row { flex-direction: column; }
    .picker__search { max-width: none; }
    .question-list li, .answer-list li { flex-direction: column; align-items: flex-start; }
    .celebration { padding: 22px 18px 18px; }
    .celebration h2 { font-size: 20px; }
    .bulkbar { padding: 12px; }
    .bulkbar select { flex: 1 1 100%; width: 100%; }
    .person-strip { padding: 14px 16px; }

    /* Açılır pencereler telefonda alttan açılan panel olur (ekran dışına taşmaz) */
    details.popover[open] > .popover__body {
        position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-height: 70vh; overflow-y: auto; z-index: 40;
        box-shadow: 0 -8px 40px rgba(1, 24, 47, .35);
    }

    /* Tablolar telefonda kart listesi: her satır bir kart, her hücre "etiket: değer" */
    .table-wrap:not(.table-wrap--scroll) { overflow: visible; background: none; border: 0; border-radius: 0; }
    .table-wrap:not(.table-wrap--scroll) table.data,
    .table-wrap:not(.table-wrap--scroll) table.data tbody,
    .table-wrap:not(.table-wrap--scroll) table.data tr,
    .table-wrap:not(.table-wrap--scroll) table.data td { display: block; width: auto; }
    .table-wrap:not(.table-wrap--scroll) table.data { font-size: 14px; }
    .table-wrap:not(.table-wrap--scroll) table.data thead { display: none; }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr {
        position: relative; margin-bottom: 10px; padding: 12px 14px; background: var(--surface);
        border: 1px solid var(--border); border-radius: var(--radius);
    }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr:hover { background: var(--surface); }
    .table-wrap:not(.table-wrap--scroll) table.data td { padding: 5px 0; border: 0; max-width: none; white-space: normal; overflow-wrap: break-word; }
    /* Etiket solda mutlak konumda; hücre içeriği kendi akışında kalır (chip, ikon, satır sonu bozulmaz). */
    .table-wrap:not(.table-wrap--scroll) table.data td[data-label] { position: relative; padding-left: max(96px, 36%); min-height: 30px; }
    .table-wrap:not(.table-wrap--scroll) table.data td[data-label]::before {
        content: attr(data-label); position: absolute; left: 0; top: 7px; width: calc(max(96px, 36%) - 10px);
        color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.4;
    }
    .table-wrap:not(.table-wrap--scroll) table.data td[data-empty] { display: none; }
    /* Satırın ilk ana hücresi (ad, başlık) kart başlığı olur */
    .table-wrap:not(.table-wrap--scroll) table.data tr > td:first-child[data-label],
    .table-wrap:not(.table-wrap--scroll) table.data tr > td.rownum:first-child + td {
        display: block; padding: 0 34px 8px 0; min-height: 0; margin-bottom: 4px; border-bottom: 1px solid var(--border); font-size: 15px;
    }
    .table-wrap:not(.table-wrap--scroll) table.data tr > td:first-child[data-label]::before,
    .table-wrap:not(.table-wrap--scroll) table.data tr > td.rownum:first-child + td::before { content: none; }
    /* Seçim kutusu kartın sağ üst köşesinde */
    .table-wrap:not(.table-wrap--scroll) table.data td.rownum { position: absolute; top: 12px; right: 12px; padding: 0; width: auto; }
    .table-wrap:not(.table-wrap--scroll) table.data td.rownum input { width: 22px; height: 22px; }
    /* İşlemler kartın altında */
    .table-wrap:not(.table-wrap--scroll) table.data td.actions { width: auto; margin-top: 6px; padding-top: 10px; border-top: 1px dashed var(--border); }
    .table-wrap:not(.table-wrap--scroll) table.data td.actions[data-label] { padding-left: 0; min-height: 0; }
    .table-wrap:not(.table-wrap--scroll) table.data td.actions[data-label]::before { content: none; }
    .data .actions .btn-row { flex-wrap: wrap; }
    .table-wrap details.popover[open] > .popover__body { position: static; width: 100%; box-shadow: none; }
    .table-wrap--scroll .data th, .table-wrap--scroll .data td { padding: 10px 12px; }
}

/* Giriş ve kurulum ekranı, telefonda tam ekran: üstte lacivert alanda logo, altta yukarı kıvrık form paneli. */
@media (max-width: 640px) {
    .login { display: block; min-height: 100vh; min-height: 100dvh; background-color: var(--brand-primary); background-image: linear-gradient(165deg, #0a3d5c 0%, var(--brand-primary-2) 35%, var(--brand-primary) 100%); }
    .login::before { display: none; }
    .login__wrap { padding: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
    .login__tabs { display: none; }
    .login__card { flex: 1; display: flex; flex-direction: column; width: 100%; min-height: 0; background: none; border-radius: 0; box-shadow: none; overflow: visible; }
    .login__cover { flex: none; width: auto; padding: 76px 24px 34px; background: none; }
    .login__cover::after { display: none; }
    .login__cover .brand { flex-direction: column; text-align: center; gap: 14px; }
    .login__cover .brand__logo { width: 104px; height: 104px; box-shadow: 0 0 0 5px rgba(255, 255, 255, .1), 0 12px 32px rgba(0, 0, 0, .35); }
    .login__cover .brand__mark { width: 88px; height: 88px; font-size: 28px; border-radius: 22px; }
    .login__cover .brand__text { align-items: center; }
    .login__cover .brand__text strong { color: #fff; font-size: 18px; letter-spacing: .01em; }
    .login__cover .brand__text small { display: block; margin-top: 4px; color: #9fc3db; font-size: 13px; }
    .login__pane {
        flex: 1; padding: 30px 20px calc(28px + env(safe-area-inset-bottom)); background: var(--surface);
        border-radius: 26px 26px 0 0; box-shadow: 0 -10px 30px rgba(0, 0, 0, .18);
    }
    .login__title { font-size: 21px; margin-bottom: 22px; }
    .login__pane form { gap: 18px; flex: none; }
    .login__pane .field + .field { margin-top: 0; }
    .login__pane input[type=email], .login__pane input[type=password], .login__pane input[type=text] { min-height: 52px; border-radius: 12px; }
    .login__pane .btn { min-height: 54px; margin-top: 8px; border-radius: 12px; font-size: 15px; }
    .login__pane .alert { margin-bottom: 0; }
    .login__foot { margin-top: 20px; text-align: center; font-size: 13px; }
    .login__theme { top: max(12px, env(safe-area-inset-top)); right: 8px; color: #dbe7f1; font-size: 12px; }
}

/* =====================================================================
 * Sade mobil görünüm (burger korunur): üst çubukta sayfa adı, kutusuz kenardan kenara
 * bölümler, liste satırları ve alta sabit işlem çubuğu (.mobile-bar).
 * ===================================================================== */
.topbar__title--page { display: none; }
@media (max-width: 640px) {
    /* Üst çubuk: kurum adı yerine sayfa adı; sayfa başlığı ve breadcrumb gizlenir */
    .topbar { min-height: 58px; padding: 7px 12px; box-shadow: none; border-bottom: 1px solid var(--border); }
    .topbar .topbar__title--app { display: none; }
    .topbar .topbar__title--page { display: block; font-size: 17px; font-weight: 600; }
    .nav-toggle { border: 0; }
    .page-head { display: none; }
    .page-content { padding-top: 12px; padding-bottom: 28px; }
    body:has(.mobile-bar) .page-content { padding-bottom: 104px; }

    /* Kutular yerine kenardan kenara bölümler */
    .page-content .card, .page-content .bulkbar { margin-inline: -16px; border-radius: 0; border-inline: 0; }
    .page-content .card .card { margin-inline: 0; border-radius: var(--radius-sm); border-inline: 1px solid var(--border); }
    .page-content .card { margin-bottom: 10px; }
    .page-content > .card:first-child, .page-content > form:first-child > .card:first-child,
    .page-content > .grid--2:first-child > div:first-child > .card:first-child { margin-top: -12px; border-top: 0; }
    .grid > .card, .grid--2 > div > .card { margin-bottom: 0; }
    .grid--2 > div > .card + .card { margin-top: 10px; }
    .toolbar { margin-bottom: 10px; }

    /* Tablolar: kenardan kenara liste satırları */
    .table-wrap:not(.table-wrap--scroll) { margin-inline: -16px; }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr {
        margin: 0; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0;
    }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr:first-child { border-top: 1px solid var(--border); }
    .card .table-wrap:not(.table-wrap--scroll) table.data tbody tr:last-child { border-bottom: 0; }
    /* Seçim kutusu solda, satır içeriği yanında */
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr:has(> td.rownum) { padding-left: 54px; }
    .table-wrap:not(.table-wrap--scroll) table.data td.rownum { left: 16px; right: auto; top: 14px; z-index: 1; }
    .table-wrap:not(.table-wrap--scroll) table.data tr > td:first-child[data-label],
    .table-wrap:not(.table-wrap--scroll) table.data tr > td.rownum:first-child + td { padding-right: 0; border-bottom: 0; margin-bottom: 2px; }

    /* Liste tablosu (.data--list): ad + tek satır özet; satırın tamamı kişiye gider */
    .table-wrap:not(.table-wrap--scroll) table.data--list tbody tr { padding-right: 40px; }
    .table-wrap:not(.table-wrap--scroll) table.data--list tbody tr::after {
        content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
        border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(-45deg); opacity: .6;
    }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.cell a::after { content: ""; position: absolute; inset: 0; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.cell a { text-decoration: none; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.cell .badge { position: relative; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-hide { display: none; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-meta { display: inline; padding: 0; min-height: 0; font-size: 13px; color: var(--muted); }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-meta::before { content: none; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-meta:not([data-empty]) ~ td.list-meta::before {
        content: "·"; position: static; display: inline; width: auto; margin: 0 6px; font-size: 13px;
    }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-meta[data-empty] { display: none; }
    .table-wrap:not(.table-wrap--scroll) table.data--list .chip, .table-wrap:not(.table-wrap--scroll) table.data--list .badge { margin: 2px 2px 0 0; }

    /* Alta sabit işlem çubuğu */
    .mobile-bar {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; flex-wrap: nowrap; gap: 8px; margin: 0;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--surface);
        border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(1, 24, 47, .08);
    }
    .mobile-bar > * { flex: 1 1 0; min-width: 0; }
    .mobile-bar > form .btn, .mobile-bar > .btn { width: 100%; }
    .mobile-bar .btn { min-height: 46px; }
    .toolbar:has(> .mobile-bar) { flex-direction: row; }
}

/* =====================================================================
 * Mobil yoğunluk: daha küçük yazı, daha az boşluk, kısaltılmış açıklamalar.
 * Girdiler 16px kalır (iOS odaklanınca yakınlaştırmasın), yükseklikleri azalır.
 * ===================================================================== */
@media (max-width: 640px) {
    body { font-size: 13.5px; line-height: 1.5; }
    .topbar { min-height: 52px; padding: 5px 10px; }
    .topbar .topbar__title--page { font-size: 15px; }
    .nav-toggle { width: 40px; height: 40px; }
    .page-content { padding-top: 10px; }
    .page-content > .card:first-child, .page-content > form:first-child > .card:first-child,
    .page-content > .grid--2:first-child > div:first-child > .card:first-child { margin-top: -10px; }

    /* Bölümler */
    .card { padding: 14px 16px; }
    .page-content .card { margin-bottom: 8px; }
    .card > h2, .card__title, .card__head h2 { font-size: 15px; margin-bottom: 10px; }
    .card__head { margin-bottom: 10px; gap: 8px; }
    .card p { margin: 0 0 10px; }
    .subhead { font-size: 14px; margin: 14px 0 8px; }
    .grid, .grid--2, .grid--3, .form-grid, .check-grid, .ai-tasks { gap: 10px; }
    .grid--2 > div > .card + .card { margin-top: 8px; }
    .empty { padding: 22px 12px; }
    .empty .icon--lg { width: 30px; height: 30px; }

    /* Yazılar */
    .field label, .label { font-size: 12.5px; }
    .field small, .tile__meta, .stat__label, .activity time, .mini-stats, .muted small { font-size: 12px; }
    .field { gap: 4px; }
    .form-grid { gap: 12px; }
    .alert { font-size: 12.5px; padding: 10px 12px; margin-bottom: 10px; }
    .dl dt { font-size: 11.5px; }
    .dl dd { font-size: 13.5px; margin-bottom: 8px; }
    .activity li { padding: 8px 0; font-size: 12.5px; }
    .chip, .badge { font-size: 10.5px; }

    /* Kontroller: daha alçak */
    input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=search], input[type=tel], input[type=url], select, textarea { min-height: 40px; padding: 7px 12px; }
    select { padding-right: 34px; }
    textarea { min-height: 80px; }
    .btn { min-height: 38px; padding: 7px 14px; font-size: 13px; }
    .btn--sm { min-height: 32px; padding: 5px 10px; font-size: 12px; }
    .mobile-bar { padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
    .mobile-bar .btn { min-height: 42px; }
    body:has(.mobile-bar) .page-content { padding-bottom: 84px; }

    /* İstatistikler: ikonsuz, küçük kutular */
    .grid:has(> .stat), .mini-grid { gap: 8px; margin-bottom: 10px; }
    .stat, .mini-grid .stat { flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px; }
    .stat__icon, .mini-grid .stat__icon { width: 30px; height: 30px; border-radius: 8px; }
    .stat__icon .icon, .mini-grid .stat__icon .icon { width: 16px; height: 16px; }
    .stat__value, .mini-grid .stat__value { font-size: 17px; }
    .stat__value--sm { font-size: 13px; }
    .stat__label { line-height: 1.3; }

    /* Sekmeler ve geçişler */
    .tabs a, .page-tabs a { padding: 8px 10px; font-size: 13px; }
    .page-tabs { margin-bottom: 10px; }

    /* Filtreler ve toplu işlem çubuğu */
    .filters { padding: 10px 16px; gap: 8px; }
    .bulkbar { padding: 8px 16px; gap: 8px; }
    .bulkbar .check { font-size: 12.5px; }
    .bulkbar select { min-height: 36px; font-size: 13px; }
    .toolbar { margin-bottom: 8px; font-size: 12.5px; }

    /* Listeler */
    .table-wrap:not(.table-wrap--scroll) table.data { font-size: 13px; }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr { padding: 9px 16px; }
    .table-wrap:not(.table-wrap--scroll) table.data tbody tr:has(> td.rownum) { padding-left: 48px; }
    .table-wrap:not(.table-wrap--scroll) table.data td.rownum { top: 11px; }
    .table-wrap:not(.table-wrap--scroll) table.data td.rownum input { width: 18px; height: 18px; }
    .table-wrap:not(.table-wrap--scroll) table.data td { padding: 2px 0; }
    .table-wrap:not(.table-wrap--scroll) table.data td[data-label] { min-height: 0; }
    .table-wrap:not(.table-wrap--scroll) table.data td[data-label]::before { top: 4px; font-size: 11px; }
    .table-wrap:not(.table-wrap--scroll) table.data tr > td:first-child[data-label],
    .table-wrap:not(.table-wrap--scroll) table.data tr > td.rownum:first-child + td { font-size: 14px; padding-bottom: 2px; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.cell small { font-size: 11.5px; }
    .table-wrap:not(.table-wrap--scroll) table.data--list td.list-meta { font-size: 12px; }

    /* Uzun açıklamalar iki satıra kısalır; dokununca açılır (app.js: is-clampable).
       Alt boşluk kenarlıkla verilir; dolgu olursa üçüncü satırın üstü görünür. */
    .is-clampable:not(.is-expanded) {
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer;
        padding-bottom: 0; border-bottom: 10px solid transparent;
    }
    p.is-clampable:not(.is-expanded) { border-bottom-width: 0; }
    .test-card__desc { -webkit-line-clamp: 2; min-height: 0; }
    .input-icon > input { padding-left: 38px; }
    .input-icon > .icon { left: 12px; }

    /* Form ve kart butonları yan yana sığdığı kadar */
    .form-actions { margin-top: 14px; gap: 8px; }
    .form-actions > .btn, .form-actions > a.btn { flex: 1 1 0; padding-inline: 8px; }
    .test-card__actions { padding-top: 10px; }
    .test-card__actions .icon { display: none; }
    .test-card .mini-stats { gap: 4px 12px; }
}

/* Sekme bağlantısıyla gelinen liste başlığı, üst çubuğun altında kalmasın. */
#aday-listesi { scroll-margin-top: 16px; }
@media (max-width: 960px) { #aday-listesi { scroll-margin-top: 72px; } }

[data-tab-panel][aria-busy="true"] { opacity: .55; transition: opacity .15s; }

/* Filtreyle atama: filtreye uyan kişilerin önizlemesi. */
.filters .match { grid-column: 1 / -1; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); padding: 10px 14px; }
.match__count { margin: 0; color: var(--text); }
.match__count strong { color: var(--heading); font-size: 16px; }
.match__list { list-style: none; margin: 8px 0 0; padding: 0; max-height: 220px; overflow-y: auto; columns: 3 220px; column-gap: 20px; }
.match__list:empty { display: none; }
.match__list li { break-inside: avoid; padding: 3px 0; border-bottom: 1px solid var(--border); overflow-wrap: break-word; }
.match__list li small { margin-left: 6px; }
@media (max-width: 640px) {
    .filters--plain > select { display: block; }
    .filters--plain > .btn-row { grid-column: 1 / -1; }
    .match__list { max-height: 180px; }
}

/* Çoklu seçim kutusu (Filtreyle atama): select görünümünde, içinde onay kutuları. */
details.multi { position: relative; min-width: 0; }
details.multi > summary {
    list-style: none; min-height: 42px; padding: 9px 38px 9px 13px; border: 1px solid var(--control-border); border-radius: var(--radius-sm);
    background: var(--input-bg) var(--select-arrow) no-repeat right 12px center / 16px; color: var(--text); cursor: pointer;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: border-color .15s, box-shadow .15s;
}
details.multi > summary::-webkit-details-marker { display: none; }
details.multi > summary:hover { border-color: var(--control-hover); }
details.multi[open] > summary, details.multi > summary:focus-visible { outline: none; border-color: var(--brand-secondary); box-shadow: var(--ring); }
details.multi.is-active > summary { border-color: var(--brand-secondary); color: var(--heading); font-weight: 500; }
.multi__body {
    position: absolute; left: 0; top: calc(100% + 6px); z-index: 15; min-width: 100%; width: max-content; max-width: min(320px, 86vw);
    max-height: 260px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; padding: 8px;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.multi__body .check { padding: 6px 8px; border-radius: var(--radius-sm); cursor: pointer; }
.multi__body .check:hover { background: var(--row-hover); }
.multi__body .check[hidden] { display: none; }
@media (max-width: 640px) {
    details.multi > summary { min-height: 40px; font-size: 16px; }
    .multi__body { position: static; width: 100%; max-width: none; margin-top: 6px; box-shadow: none; }
}

/* Filtreyle atama: filtreye uyan kişiler tek tek seçilebilir. */
.match__head { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; }
.match__list { display: block; max-height: 300px; }
.match__list .check { display: flex; align-items: flex-start; gap: 8px; break-inside: avoid; padding: 5px 4px; border-bottom: 1px solid var(--border); cursor: pointer; overflow-wrap: break-word; }
.match__list .check:hover { background: var(--row-hover); }
.match__list .check small { margin-left: 6px; }
@media (max-width: 640px) {
    .match__head .btn-row { width: 100%; }
    .match__head .btn-row .btn { flex: 1 1 0; }
    .match__list { max-height: 260px; }
}

/* Etkinlikler */
input[type=time] {
    width: 100%; min-height: 42px; padding: 9px 13px; border: 1px solid var(--control-border); border-radius: var(--radius-sm);
    font: inherit; background-color: var(--input-bg); color: var(--text); transition: border-color .15s, box-shadow .15s;
}
input[type=time]:focus { outline: none; border-color: var(--brand-secondary); box-shadow: var(--ring); }
[data-theme="dark"] input[type=time], [data-theme="dark"] input[type=date] { color-scheme: dark; }
.badge--danger { background: var(--danger-bg); color: var(--brand-accent); }
.ai-comment { white-space: normal; line-height: 1.6; }
.ai-comment--person { display: block; margin-top: 6px; color: var(--muted); }
.ai-comment--person .icon { width: 13px; height: 13px; color: var(--brand-secondary); vertical-align: -2px; }
.event-note { display: block; color: var(--text); }
.ai-request { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 12px 0 6px; }
.ai-request input { flex: 1 1 280px; }
#ai-yorum small.muted { display: block; margin-top: 4px; }
.event-people .actions { width: 1%; white-space: nowrap; }
.event-people .popover__body small { color: var(--muted); }
.event-people td.cell { max-width: 460px; }
.match__search { grid-column: 1 / -1; }

[id^="k"]:target, #katilimcilar:target, #etkinlik-notlari:target, #ai-yorum:target { scroll-margin-top: 16px; }
@media (max-width: 960px) { [id^="k"]:target, #katilimcilar:target, #etkinlik-notlari:target, #ai-yorum:target { scroll-margin-top: 72px; } }
tr:target { background: var(--row-hover); }
@media (max-width: 640px) {
    .ai-request input, .ai-request .btn { flex: 1 1 100%; }
}

/* Etkinlik notları ve sayfa yenilenmeden yapılan işlemlerin bildirimi */
.notes-title { margin: 16px 0 8px; font-size: 14px; font-weight: 600; color: var(--heading); }
.notes-person { margin-bottom: 10px; }
.notes-person > a strong { color: var(--heading); }
#etkinlik-notlari .note-form { width: 100%; }
#etkinlik-notlari .note-form textarea { width: 100%; }
.event-note { display: block; margin-bottom: 4px; }
.toast {
    position: fixed; right: 20px; bottom: 20px; z-index: 60; margin: 0; max-width: min(360px, calc(100vw - 32px));
    box-shadow: var(--shadow); animation: toast-in .18s ease-out;
}
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .toast { left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); max-width: none; } }
@media (prefers-reduced-motion: reduce) { .toast { animation: none; } }

/* Etkinlik: listeden / dosyadan katılımcı ekleme sekmeleri ve dosya eşleştirme sonucu */
#add-list:checked ~ .assign__tabs label[for="add-list"],
#add-file:checked ~ .assign__tabs label[for="add-file"] { background: var(--seg-active); color: var(--heading); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
#add-list:checked ~ .assign__pane--list,
#add-file:checked ~ .assign__pane--file { display: block; }
.import-file { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 12px 0 8px; }
.import-file input[type=file] { flex: 1 1 280px; width: auto; }
.import-pick { display: flex; flex-direction: column; gap: 4px; }
.import-pick .check small { margin-left: 6px; }
.import-missing { columns: 3 220px; column-gap: 24px; margin: 0; padding-left: 18px; }
.import-missing li { break-inside: avoid; padding: 2px 0; }

/* Geçmiş etkinlikler: yıl (açılır) ve ay grupları */
.event-year { border-top: 1px solid var(--border); padding: 10px 0; }
.event-year:first-of-type { border-top: 0; padding-top: 0; }
.event-year > summary { list-style: none; display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 6px 0; font-size: 16px; color: var(--heading); }
.event-year > summary::-webkit-details-marker { display: none; }
.event-year__caret { width: 16px; height: 16px; color: var(--muted); transition: transform .15s; }
.event-year[open] .event-year__caret { transform: rotate(90deg); }
.event-year > summary .muted { font-size: 13px; }
.event-month { margin: 14px 0 8px; font-size: 14px; font-weight: 600; color: var(--heading); }
.event-month .muted { font-weight: 400; }
@media (min-width: 641px) {
    .event-year .data { table-layout: fixed; }
    .event-year .data th:nth-child(1) { width: 34%; }
    .event-year .data th:nth-child(2) { width: 24%; }
    .event-year .data th:nth-child(3) { width: 16%; }
    .event-year .data th:nth-child(4) { width: 11%; }
}

/* AI raporları */
.report-lists { margin-top: 6px; }
.report-lists .notes-title { margin-top: 6px; }
.person-reports .person-report p { margin: 8px 0; }
.person-report .card__head small { font-weight: 400; }

/* Kişi raporları: anlık durum satırları */
.person-status { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.person-status li { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--text); overflow-wrap: break-word; }
.person-status li > .icon { width: 15px; height: 15px; flex: none; margin-top: 2px; color: var(--brand-secondary); }
.person-status em { color: var(--muted); }
.person-report__ai { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); }
.person-report__ai > .notes-title .icon { width: 14px; height: 14px; color: var(--brand-secondary); vertical-align: -2px; }
.person-report__wait { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--border); font-size: 13px; }
.person-report__wait .icon { width: 14px; height: 14px; vertical-align: -2px; }
.pager { align-items: center; }

/* Tıklanabilir kart ve liste satırı: kartın / satırın tamamı bağlantıya gider, sağda ok */
.card--link { position: relative; transition: border-color .15s, box-shadow .15s; }
.card--link:hover { border-color: var(--brand-secondary); box-shadow: 0 4px 14px rgba(1, 24, 47, .08); }
.card--link .card-link { color: var(--heading); text-decoration: none; }
.card--link .card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.card--link:hover .card-link { color: var(--brand-secondary); }
.card-go { display: inline-flex; align-items: center; gap: 8px; flex: none; }
.card-go > .icon { width: 18px; height: 18px; color: var(--muted); transition: transform .15s, color .15s; }
.card--link:hover .card-go > .icon { color: var(--brand-secondary); transform: translateX(2px); }
.data--list tbody tr { position: relative; cursor: pointer; }
.data--list tbody tr:hover > td { background: var(--surface-2, rgba(69, 193, 239, .06)); }
.data--list td.cell a { text-decoration: none; }
.data--list td.cell a::after { content: ""; position: absolute; inset: 0; }
.data--list td.rownum input, .data--list .wa-link { position: relative; z-index: 1; }
.data--list .row-go { width: 1%; padding-left: 0; color: var(--muted); text-align: right; }
.data--list .row-go .icon { width: 16px; height: 16px; vertical-align: middle; transition: transform .15s; }
.data--list tbody tr:hover .row-go { color: var(--brand-secondary); }
.data--list tbody tr:hover .row-go .icon { transform: translateX(2px); }
@media (max-width: 640px) {
    .table-wrap:not(.table-wrap--scroll) table.data--list .row-go { display: none; }
}

/* Üst çubuk: geri / ileri */
.nav-history { display: inline-flex; gap: 4px; }
.nav-history button {
    display: grid; place-items: center; width: 36px; height: 36px; padding: 0; cursor: pointer;
    background: transparent; border: 1px solid var(--control-border, var(--border)); border-radius: var(--radius-sm); color: var(--heading);
}
.nav-history button:hover:not(:disabled) { border-color: var(--brand-secondary); color: var(--brand-secondary); }
.nav-history button:disabled { opacity: .35; cursor: default; }
.nav-history .icon { width: 18px; height: 18px; }
@media (max-width: 960px) { .nav-history button { width: 40px; height: 40px; } }
@media (max-width: 640px) { .nav-history { gap: 2px; } .nav-history button { width: 38px; height: 44px; border: 0; } }

/* Kenar menü genişlik geçişi: yazılar dar alanda yeniden dizilmez, yalnız kırpılır ve yumuşakça belirir */
.sidebar-anim .sidebar { overflow: hidden; }
.sidebar-anim .sidebar .sidebar__label, .sidebar-anim .sidebar .brand__text { white-space: nowrap; animation: sidebar-fade .25s ease; }
.sidebar-anim .sidebar .brand__text { width: calc(var(--sidebar-w) - 98px); flex: none; white-space: normal; }
.sidebar-anim .sidebar .nav-group > summary .icon--caret { animation: sidebar-fade .25s ease; }
@keyframes sidebar-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .sidebar { transition: none; }
    .sidebar-anim .sidebar .sidebar__label, .sidebar-anim .sidebar .brand__text { animation: none; }
}

/* İnceleme: Manuel / AI görünümü (sayfa yenilenmez) */
.review__pane { display: none; }
#review-manual:checked ~ .review__pane--manual, #review-ai:checked ~ .review__pane--ai { display: block; }
#review-manual:checked ~ .assign__tabs label[for="review-manual"],
#review-ai:checked ~ .assign__tabs label[for="review-ai"] { background: var(--seg-active); color: var(--heading); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.review__tabs { margin-bottom: 16px; }
.review__pane h2 .icon { width: 18px; height: 18px; color: var(--brand-secondary); vertical-align: -3px; }
.featured-list .type-card .card__head { margin-bottom: 6px; }
.featured-list .type-card p { margin: 6px 0 0; font-size: 13px; }

/* Takımlar: AI öneri listesi, mentör rolü seçimi */
.suggestion-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.suggestion-list > li { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: flex-start; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--border); }
.suggestion-list > li:first-child { border-top: 0; padding-top: 0; }
.suggestion-list > li > div { flex: 1 1 320px; min-width: 0; overflow-wrap: anywhere; }
.suggestion-list p { margin: 4px 0 0; font-size: 13px; }
.suggestion-list .icon { width: 14px; height: 14px; vertical-align: -2px; }
.suggestion-arrow { margin: 0 6px; color: var(--muted); }
.mentor-role { max-width: 260px; margin-bottom: 4px; }
@media (max-width: 640px) { .mentor-role { max-width: none; } .suggestion-list .btn-row { width: 100%; } }
.badge--warning { background: var(--warning-bg); color: var(--warning); text-decoration: none; }

/* Bildirimler: üst çubuktaki zil ve açılır liste, panel kartı */
.notify { position: relative; margin-left: auto; }
.notify > summary { list-style: none; }
.notify > summary::-webkit-details-marker { display: none; }
.notify__toggle {
    position: relative; display: grid; place-items: center; width: 40px; height: 40px; cursor: pointer; color: var(--heading);
    border: 1px solid var(--control-border, var(--border)); border-radius: var(--radius-sm);
}
.notify__toggle:hover, .notify[open] > .notify__toggle { border-color: var(--brand-secondary); color: var(--brand-secondary); }
.notify__toggle .icon { width: 20px; height: 20px; }
.notify__count {
    position: absolute; top: -6px; right: -6px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px;
    background: var(--brand-accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 19px; text-align: center;
}
.notify__panel {
    position: absolute; right: 0; top: calc(100% + 8px); z-index: 40; width: 380px; max-height: min(70vh, 560px); overflow-y: auto;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 12px 32px rgba(1, 24, 47, .18);
}
.notify__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--surface); }
.notify__head strong { color: var(--heading); }
.notify__all { background: none; border: 0; padding: 0; cursor: pointer; color: var(--brand-secondary); font: inherit; font-size: 12px; font-weight: 600; }
.notify__empty { margin: 0; padding: 18px 14px; color: var(--muted); font-size: 13px; }
.notify__empty .icon { width: 15px; height: 15px; vertical-align: -3px; color: var(--success); }
.notify__foot { display: flex; align-items: center; gap: 6px; padding: 11px 14px; border-top: 1px solid var(--border); font-size: 13px; font-weight: 600; text-decoration: none; color: var(--brand-secondary); }
.notify__foot .icon { width: 15px; height: 15px; }
.notify-list { list-style: none; margin: 0; padding: 0; }
.notify-item + .notify-item { border-top: 1px solid var(--border); }
.notify-item form { margin: 0; }
.notify-item__link {
    display: flex; gap: 10px; align-items: flex-start; width: 100%; padding: 11px 14px; text-align: left; cursor: pointer;
    background: none; border: 0; color: var(--text); font: inherit;
}
.notify-item__link:hover { background: var(--surface-2); }
.notify-item__icon { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--info-bg); color: var(--info); }
.notify-item__icon .icon { width: 16px; height: 16px; }
.notify-item--warning .notify-item__icon { background: var(--warning-bg); color: var(--warning); }
.notify-item--danger .notify-item__icon { background: var(--danger-bg); color: var(--brand-accent); }
.notify-item__body { flex: 1; min-width: 0; display: grid; gap: 2px; overflow-wrap: anywhere; }
.notify-item__body strong { font-size: 13px; font-weight: 500; color: var(--heading); }
.notify-item.is-unread .notify-item__body strong { font-weight: 700; }
.notify-item__body small { font-size: 12px; color: var(--muted); }
.notify-item__dot { flex: none; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--brand-secondary); }
.today .notify-list { border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.today .notes-title { margin-top: 16px; }
@media (max-width: 640px) {
    .notify__panel { position: fixed; left: 8px; right: 8px; top: 60px; width: auto; max-height: calc(100vh - 76px); }
    .notify__toggle { width: 40px; height: 44px; border: 0; }
    .notify__count { top: 2px; right: 0; }
}

/* Hatırlatıcılar */
.reminder-list { list-style: none; margin: 0; padding: 0; }
.reminder { display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: space-between; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--border); }
.reminder:first-child { border-top: 0; padding-top: 0; }
.reminder__body { flex: 1 1 320px; min-width: 0; display: grid; gap: 3px; overflow-wrap: anywhere; }
.reminder__body .chip { justify-self: start; text-decoration: none; }
.reminder__body p { margin: 4px 0 0; font-size: 13px; }
.reminder--late .reminder__body strong { color: var(--brand-accent); }
.reminder--done .reminder__body strong { color: var(--muted); text-decoration: line-through; }
:target.reminder { scroll-margin-top: 90px; }

/* ---------- Portfolyo (panel, paylaşım bağlantısı, yazdırma) ---------- */
.pf-side .card h2 .icon, .pf-pending h2 .icon { width: 18px; height: 18px; color: var(--brand-secondary); vertical-align: -3px; }
@media (max-width: 1100px) { .pf-layout { grid-template-columns: 1fr; } }

.pf { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px; margin-bottom: 18px; overflow-wrap: anywhere; }
.pf-head { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 20px; align-items: start; padding-bottom: 20px; border-bottom: 3px solid var(--brand-secondary); }
.pf-head__photo { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--brand-primary); color: #fff; display: grid; place-items: center; font-size: 30px; font-weight: 600; }
.pf-head__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-head__name { margin: 0; font-size: 26px; line-height: 1.2; color: var(--heading); }
.pf-head__level { margin: 4px 0 0; color: var(--brand-secondary); font-weight: 600; font-size: 14px; }
.pf-head__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.pf-head__meta span { display: inline-flex; align-items: center; gap: 5px; }
.pf-head__meta .icon { width: 14px; height: 14px; }
.pf-head__bio { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--text); }
.pf-head__brand { display: flex; flex-direction: column; align-items: center; gap: 4px; max-width: 120px; text-align: center; font-size: 9px; font-weight: 700; letter-spacing: .3px; color: var(--heading); }
.pf-head__brand img { width: 56px; height: 56px; object-fit: contain; }

.pf-section { padding: 20px 0 4px; break-inside: avoid-page; }
.pf-section + .pf-section { border-top: 1px solid var(--border); }
.pf-section h3 { margin: 0 0 12px; font-size: 16px; color: var(--heading); display: flex; align-items: center; gap: 8px; }
.pf-section--tags { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px 28px; }
.pf-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-tag { display: inline-flex; align-items: center; padding: 3px 11px; border-radius: 999px; font-size: 12px; font-weight: 500; background: var(--info-bg); color: var(--info); }
.pf-tag--skill { background: var(--btn-bg); color: var(--btn-fg); }
.pf-count { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--chip-bg); color: var(--chip-fg); font-size: 12px; }

.pf-items { display: grid; gap: 14px; }
.pf-item { padding: 14px 16px; border: 1px solid var(--border); border-left: 3px solid var(--brand-secondary); border-radius: var(--radius-sm); background: var(--surface-2); break-inside: avoid; }
.pf-item__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--heading); }
.pf-item__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 0; font-size: 12px; color: var(--muted); }
.pf-item__meta .pf-tag { padding: 0 8px; font-size: 11px; }
.pf-item__text { margin: 8px 0 0; font-size: 13.5px; line-height: 1.6; }
.pf-link, .pf-doc { display: inline-flex; align-items: center; gap: 5px; margin: 8px 12px 0 0; font-size: 13px; color: var(--link); }
.pf-link .icon, .pf-doc .icon { width: 14px; height: 14px; flex: none; }
.pf-edit { color: var(--muted); display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: var(--radius-sm); flex: none; }
.pf-edit:hover { color: var(--brand-secondary); background: var(--surface); }
.pf-edit .icon { width: 15px; height: 15px; }
.pf-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-top: 10px; }
.pf-gallery a { display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-sm); overflow: hidden; background: var(--chip-bg); }
.pf-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pf-list > li { display: flex; gap: 12px; align-items: flex-start; break-inside: avoid; }
.pf-list > li > div { flex: 1; min-width: 0; }
.pf-list__icon { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--warning-bg); color: var(--warning); }
.pf-list__icon .icon { width: 17px; height: 17px; }
.pf-events { list-style: none; margin: 0; padding: 0; columns: 2 260px; column-gap: 28px; font-size: 13px; }
.pf-events li { break-inside: avoid; padding: 4px 0; }
.pf-events__date { display: inline-block; min-width: 82px; color: var(--muted); font-variant-numeric: tabular-nums; }
.pf-more { font-size: 12px; margin: 6px 0 0; }
.pf-strengths { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.pf-strength { padding: 14px 16px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); break-inside: avoid; }
.pf-strength__test { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: var(--muted); }
.pf-strength strong { display: block; margin-top: 2px; font-size: 16px; color: var(--heading); }
.pf-strength p { margin: 6px 0 0; font-size: 13px; }
.pf-strength ul { margin: 8px 0 0; padding-left: 18px; font-size: 13px; }
.pf-quote { margin: 0 0 12px; padding: 12px 16px; border-left: 3px solid var(--brand-accent); background: var(--surface-2); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; break-inside: avoid; }
.pf-quote p { margin: 0; font-size: 14px; line-height: 1.6; font-style: italic; }
.pf-quote footer { margin-top: 8px; font-size: 12px; color: var(--heading); }
.pf-foot { display: flex; align-items: center; gap: 10px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--border); font-size: 11px; color: var(--muted); }
.pf-foot img { width: 26px; height: 26px; object-fit: contain; }
.pf-foot strong { color: var(--heading); }

/* Panel yönetim kartları */
.pf-pending { border-color: var(--warning-border); }
.pf-pending__item { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 16px; padding: 12px 0; border-top: 1px solid var(--border); }
.pf-pending__item:first-of-type { border-top: 0; }
.pf-pending__item > div:first-child { flex: 1 1 300px; min-width: 0; overflow-wrap: anywhere; }
.pf-pending__item p { margin: 4px 0 0; font-size: 13px; }
.pf-sections .btn { justify-self: start; margin-top: 4px; }
.pf-add { margin-top: 10px; }
.pf-add > summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--brand-secondary); display: inline-flex; align-items: center; gap: 6px; }
.pf-add > summary .icon { width: 15px; height: 15px; }
.pf-score { display: inline-grid; place-items: center; min-width: 34px; height: 24px; padding: 0 8px; border-radius: 12px; background: var(--btn-bg); color: var(--btn-fg); font-size: 12px; font-weight: 700; }
.pf-file-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 6px; }
.pf-file-list li { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.pf-file-list a { display: inline-flex; align-items: center; gap: 5px; }
.pf-file-list .icon { width: 14px; height: 14px; }

/* Etiket kutusu */
.tag-input { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 42px; padding: 5px 8px; cursor: text;
    background: var(--input-bg); border: 1px solid var(--control-border); border-radius: var(--radius-sm); }
.tag-input:focus-within { border-color: var(--brand-secondary); box-shadow: 0 0 0 3px rgba(69, 193, 239, .2); }
.tag-input .chip { font-size: 12px; padding: 3px 4px 3px 10px; margin: 0; }
.tag-input input[data-tag-entry] { flex: 1 1 140px; min-width: 120px; border: 0; padding: 4px; background: transparent; box-shadow: none; outline: 0; min-height: 0; }
.chip__remove { border: 0; background: transparent; color: inherit; cursor: pointer; padding: 0 4px; font-size: 15px; line-height: 1; opacity: .7; }
.chip__remove:hover { opacity: 1; }
.chip--hit { background: var(--btn-bg); color: var(--btn-fg); }
mark.pf-hit { background: var(--info-bg); color: var(--info); padding: 1px 6px; border-radius: 4px; font-weight: 600; }

/* Eşleştirme sayfası */
.seg-choice { display: flex; flex-wrap: wrap; gap: 8px 18px; min-height: 42px; align-items: center; }
.range-pair { display: flex; align-items: center; gap: 8px; }
.range-pair input { flex: 1; min-width: 0; }
.attr-table .inline-form input[type=text] { flex: 1; min-width: 140px; }
.attr-table .inline-form select { min-width: 140px; }

/* Herkese açık sayfalar (paylaşım, gencin katkı formu) */
body.pf-public { background: var(--bg); color: var(--text); font-family: var(--font-base); margin: 0; }
.pf-public__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px max(16px, calc((100vw - 960px) / 2)); background: var(--surface); border-bottom: 1px solid var(--border); }
.pf-public__brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; color: var(--heading); letter-spacing: .3px; }
.pf-public__brand img { width: 30px; height: 30px; object-fit: contain; }
.pf-public__bar .theme-switch__label { display: none; }
.pf-public__wrap { max-width: 960px; margin: 0 auto; padding: 22px 16px 40px; }
.pf-submit { max-width: 720px; }
.pf-submit .card h2 { font-size: 16px; }
.pf-submit .field { margin-bottom: 12px; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 640px) {
    .pf { padding: 18px 16px; }
    .pf-head { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; }
    .pf-head__photo { width: 72px; height: 72px; font-size: 24px; }
    .pf-head__name { font-size: 21px; }
    .pf-head__brand { display: none; }
}

/* Yazdırma / PDF: yalnız portfolyo, A4, menü ve yönetim kartları yok */
@media print {
    @page { size: A4; margin: 14mm 12mm; }
    :root, :root[data-theme="dark"] {
        color-scheme: light; --bg: #fff; --surface: #fff; --surface-2: #f6f8fa; --text: #222; --muted: #5d6470; --border: #dfe3e8;
        --heading: #01182f; --link: #032a43; --info-bg: #e8f7fd; --info: #0d6a91; --btn-bg: #01182f; --btn-fg: #fff;
        --chip-bg: #eef1f4; --chip-fg: #4a5562; --warning-bg: #fff4dc; --warning: #8a5a00; --brand-accent: #a60a27; --brand-secondary: #45c1ef;
    }
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body, body.app, body.pf-public { background: #fff !important; }
    .sidebar, .sidebar-backdrop, .topbar, .page-head, .toolbar, .no-print, .pf-edit, .alert, .theme-switch { display: none !important; }
    .app-main { margin: 0 !important; padding: 0 !important; }
    .container, .page-content, .pf-public__wrap { max-width: none !important; padding: 0 !important; margin: 0 !important; }
    .pf-layout { display: block; }
    .pf { border: 0; box-shadow: none; padding: 0; margin: 0; }
    .pf-head { grid-template-columns: 84px minmax(0, 1fr) auto; }
    .pf-head__brand { display: flex !important; }
    .pf-section h3 { break-after: avoid; }
    .pf-gallery { grid-template-columns: repeat(4, 1fr); }
    .pf-link::after { content: " (" attr(href) ")"; font-size: 10px; color: var(--muted); word-break: break-all; }
    a { text-decoration: none; }
}
.pf-public__bar .btn-row { flex-wrap: nowrap; align-items: center; }
.pf-public__bar .theme-switch { width: auto; padding: 6px; color: var(--muted); }

/* Kişi sayfası: Portfolyo / Kişi bilgileri sekmeleri (sayfa yenilenmez; ?tab=bilgi ile ikinci sekme açılır) */
.profile-tabs__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 16px; }
.profile-tabs__bar .assign__tabs { margin-bottom: 0; }
.profile-tabs__bar .assign__tabs .icon { width: 15px; height: 15px; }
.profile-pane { display: none; }
#ptab-portfolyo:checked ~ .profile-pane--portfolyo, #ptab-bilgi:checked ~ .profile-pane--bilgi { display: block; }
#ptab-portfolyo:checked ~ .profile-tabs__bar label[for="ptab-portfolyo"],
#ptab-bilgi:checked ~ .profile-tabs__bar label[for="ptab-bilgi"] { background: var(--seg-active); color: var(--heading); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
#ptab-bilgi:checked ~ .profile-tabs__bar .profile-tabs__actions { display: none; }
@media print {
    .profile-pane--portfolyo { display: block !important; }
    .profile-pane--bilgi { display: none !important; }
}
/* Kişi sayfası portfolyo düzeni: solda portfolyo (yerinde düzenleme), sağda yalnız Benzer gençler + Paylaş */
.pf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.pf-side { display: grid; gap: 16px; position: sticky; top: 16px; }
.pf-side .card { margin-bottom: 0; }
@media (max-width: 1100px) { .pf-layout { grid-template-columns: 1fr; } .pf-side { position: static; } }
.pf-card { padding: 16px 18px; }
.pf-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.pf-card__head h2 { margin: 0; font-size: 16px; display: flex; align-items: center; gap: 6px; }
.pf-card__note { margin: 10px 0 0; font-size: 11px; color: var(--muted); }

.pf-section h3 { justify-content: flex-start; }
.pf-section__action { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600;
    color: var(--brand-secondary); text-decoration: none; border: 1px solid var(--border); background: var(--surface); }
.pf-section__action:hover { border-color: var(--brand-secondary); }
.pf-section__action .icon { width: 13px; height: 13px; }
.pf-section--tags h3 { font-size: 15px; }
.pf-hint { margin: 0; font-size: 13px; color: var(--muted); font-style: italic; }

.pf-head__photo-wrap { position: relative; width: 96px; height: 96px; }
.pf-photo-edit { position: absolute; right: -2px; bottom: -2px; margin: 0; }
.pf-photo-edit__btn, .pf-photo-remove button { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; cursor: pointer;
    background: var(--surface); color: var(--heading); border: 1px solid var(--border); box-shadow: 0 1px 3px rgba(0, 0, 0, .15); padding: 0; }
.pf-photo-edit__btn:hover, .pf-photo-remove button:hover { color: var(--brand-secondary); border-color: var(--brand-secondary); }
.pf-photo-edit__btn .icon, .pf-photo-remove .icon { width: 14px; height: 14px; }
.pf-photo-remove { position: absolute; left: -2px; bottom: -2px; margin: 0; opacity: 0; transition: opacity .15s; }
.pf-head__photo-wrap:hover .pf-photo-remove, .pf-photo-remove:focus-within { opacity: 1; }

.pf-quote footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; }
.pf-quote.is-hidden { opacity: .55; }
.pf-quote__tools { display: inline-flex; gap: 2px; }
.pf-quote__tools form { margin: 0; }
.pf-quote__tools .pf-edit { border: 0; background: transparent; cursor: pointer; }
.pf-add { margin-top: 6px; }
.pf-review-form { margin-top: 10px; padding: 14px; border: 1px dashed var(--border-strong); border-radius: var(--radius-sm); display: grid; gap: 10px; }
.pf-review-form .form-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.pf-review-form .field { margin: 0; }
.pf-review-form .btn-row { align-items: center; gap: 14px; }

.pf-similar { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pf-similar li { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; border-top: 1px solid var(--border); }
.pf-similar li:first-child { border-top: 0; padding-top: 0; }
.pf-similar .pf-score { flex: none; margin-top: 1px; }
.pf-similar__body { min-width: 0; display: grid; gap: 1px; }
.pf-similar__body a { font-weight: 600; font-size: 13.5px; color: var(--heading); text-decoration: none; }
.pf-similar__body a:hover { color: var(--brand-secondary); }
.pf-similar__body small { font-size: 11.5px; line-height: 1.4; color: var(--muted); }

.pf-share { display: grid; gap: 8px; }
.pf-share + .pf-share { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.pf-share__title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pf-share__title strong { font-size: 13px; color: var(--heading); }
.pf-share__title small { font-size: 11px; color: var(--muted); }
.pf-share input[readonly] { font-size: 12px; min-height: 36px; padding: 6px 10px; }
.pf-share__actions { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-share__actions form { margin: 0; }
.pf-share .pf-hint { font-style: normal; font-size: 12px; }
.pf-fold > summary { cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--brand-secondary); padding: 2px 0; }
.pf-fold .public-link__qr { margin-top: 8px; width: 140px; height: 140px; }
.pf-sections { display: grid; gap: 4px; margin-top: 8px; }
.pf-sections .check { font-size: 13px; }
@media print { .pf-head__photo-wrap { width: 84px; height: 84px; } }
@media (max-width: 640px) { .pf-head__photo-wrap { width: 72px; height: 72px; } }@media print { .pf-head__photo { width: 84px; height: 84px; } }
.pf-section__action { flex: none; white-space: nowrap; }
.pf-share__title { display: grid; gap: 1px; }
.pf-share__actions { flex-wrap: nowrap; }
.pf-share__actions .btn { padding: 6px 10px; }
.pf-share__actions .btn--whatsapp, .pf-share__actions [data-copy] { flex: 1; justify-content: center; }
@media (max-width: 1100px) {
    .pf-side { order: -1; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: start; }
}
@media print { .pf-foot { break-before: avoid; margin-top: 12px; } .pf-section:last-of-type { break-after: avoid; } }

/* İnceleme: son form yanıtları (satırda açılır) */
.form-answers { border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.form-answer { border-top: 1px solid var(--border); }
.form-answer:first-child { border-top: 0; }
.form-answer > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 14px; padding: 11px 14px; cursor: pointer; list-style: none; font-size: 13px; }
.form-answer > summary::-webkit-details-marker { display: none; }
.form-answer > summary:hover { background: var(--row-hover); }
.form-answer[open] > summary { background: var(--surface-2); }
.form-answer__who { display: inline-flex; align-items: center; gap: 8px; color: var(--heading); }
.form-answer > .dl { padding: 12px 14px 4px; }
.form-answer__actions { padding: 8px 14px 14px; }
.text-warning { color: var(--warning); }
.text-warning .icon { width: 13px; height: 13px; vertical-align: -2px; }

/* Adaylar: şüpheli başvuru */
.chip--suspect { background: var(--danger-bg); color: var(--brand-accent); margin-left: 4px; }
.chip--suspect .icon { width: 1em; height: 1em; }
.candidates-table tr.is-suspect td:first-child { box-shadow: inset 3px 0 0 var(--brand-accent); }
.suspect-reason { display: inline-block; margin-top: 2px; font-size: 12px; color: var(--brand-accent); }
/* Profil fotoğrafını kaldırma (yönetici): her zaman görünür */
.pf-photo-remove { opacity: 1; }
.pf-photo-remove button { color: var(--brand-accent); }
.pf-photo-remove button:hover { color: #fff; background: var(--brand-accent); border-color: var(--brand-accent); }

/* Adaylar: tablodaki inceleme düğmesi ve aday inceleme sayfası */
.cand-test .chip--tag { font-size: 12px; padding: 3px 10px; }
.cand-review { margin-top: 8px; }
.review-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 14px 24px; }
.review-head.is-suspect { box-shadow: inset 4px 0 0 var(--brand-accent), var(--shadow); }
.review-head__main { display: flex; gap: 14px; align-items: flex-start; min-width: 0; flex: 1 1 360px; }
.review-head__main .user__avatar { width: 52px; height: 52px; font-size: 18px; flex: none; }
.review-head__name { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 22px; color: var(--heading); }
.review-head__main p { margin: 4px 0 0; }
.review-head__tests { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px !important; }
.review-head__tests .chip { font-size: 12px; padding: 3px 10px; }
.review-head__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.review-head__actions select { width: auto; min-width: 200px; }
.review-suspect strong { display: flex; align-items: center; gap: 6px; }
.review-suspect strong .icon { width: 16px; height: 16px; }
.review-suspect ul { margin: 8px 0 0; padding-left: 20px; }
.answer-dist { display: grid; gap: 6px; margin-bottom: 12px; }
.answer-dist__row { display: grid; grid-template-columns: 52px 1fr 70px; gap: 10px; align-items: center; font-size: 13px; }
.answer-dist__row > span:last-child { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.answer-dist__row.is-high .bar__fill { background: var(--brand-accent); }
.answer-dist__row.is-high > span:last-child { color: var(--brand-accent); font-weight: 600; }
.review-answers > summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--brand-secondary); padding: 4px 0; }
.review-answers .answer-list { margin-top: 10px; }
/* Dosyalar: tablo şablonları, sütun ekleme ve sütun renkleri */
.template-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 10px; margin-top: 8px; }
.template-card { position: relative; display: grid; gap: 4px; align-content: start; padding: 12px 14px; cursor: pointer;
    border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); transition: border-color .15s, box-shadow .15s; }
.template-card:hover { border-color: var(--brand-secondary); }
.template-card input { position: absolute; opacity: 0; pointer-events: none; }
.template-card:has(input:checked) { border-color: var(--brand-secondary); box-shadow: 0 0 0 2px rgba(69, 193, 239, .35); }
.template-card:has(input:focus-visible) { box-shadow: var(--ring, 0 0 0 3px rgba(69, 193, 239, .35)); }
.template-card strong { font-size: 13.5px; color: var(--heading); }
.template-card small { font-size: 12px; color: var(--muted); }
.template-card__cols { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 4px; }
.template-card__cols span { font-size: 10.5px; padding: 1px 6px; border-radius: 4px; border: 1px solid var(--border); color: var(--muted); }
.table-tools { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; align-items: center; justify-content: space-between; }
.table-tools > .btn-row { margin-left: auto; }
.table-tool { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); padding: 12px 14px; margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; }
.table-tool[hidden] { display: none; }
.table-tool .inline-form input[type=text] { flex: 1 1 200px; min-width: 160px; }
.swatches { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.swatch { display: inline-flex; cursor: pointer; }
.swatch input { position: absolute; opacity: 0; pointer-events: none; }
.swatch span { width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); transition: transform .1s, box-shadow .1s; }
.swatch:hover span { transform: scale(1.1); }
.swatch input:checked + span { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--brand-secondary); }
.swatch input:focus-visible + span { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--brand-primary-2); }
.swatch--none span { background: linear-gradient(135deg, transparent 45%, var(--brand-accent) 46%, var(--brand-accent) 54%, transparent 55%), var(--surface); }
.color-rows { display: grid; gap: 8px; }
.color-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.color-row__name { min-width: 160px; padding: 4px 10px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; border: 1px solid var(--border); }
/* Şablon önizlemesi: renkli başlık + siyah kenarlıklı satırlar (tablodaki biçimin küçüğü) */
.tpl-preview { display: grid; margin-top: 6px; border: 1px solid #000; background: #fff; overflow: hidden; border-radius: 2px; }
.tpl-preview__row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.tpl-preview__row > span { min-height: 14px; border-right: 1px solid #000; border-bottom: 1px solid #000; padding: 1px 3px; font-size: 9.5px; line-height: 1.3; color: #1f2933;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tpl-preview__row > span:last-child { border-right: 0; }
.tpl-preview__row:last-child > span { border-bottom: 0; }
.tpl-preview__head { font-weight: 600; }
/* Tablo başlıkları: koyu yeşil zemin, beyaz kalın yazı (dosyadaki biçimle aynı) */
.tpl-preview__head { background: #1b5e20; color: #fff !important; font-weight: 700; }
table.data th.th-header { background: #1b5e20; color: #fff; font-weight: 700; border-right: 1px solid rgba(255, 255, 255, .25); }

/* Tablo paylaşımı */
.share-grid { align-items: start; }
.share-grid .field { margin-bottom: 16px; }
.share-message { margin: 10px 0 12px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); font-size: 13px; overflow-wrap: anywhere; }
.people-picked { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.people-picked li { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.people-picked li strong { flex: 1 1 160px; font-size: 13px; color: var(--heading); }
.people-picked .check { font-size: 12.5px; }
/* Tablo görünümü: hücre içeriğe göre genişler; ~40 karakterden uzun metin hücre içinde alt satıra kayar (dosyadaki biçimle aynı) */
table.sheet-table td.cell { max-width: none; width: auto; min-width: 8ch; white-space: pre-wrap; overflow-wrap: break-word; vertical-align: top; }
table.sheet-table td.cell, table.sheet-table th.th-header { max-width: 40ch; }
table.sheet-table th.th-header { white-space: normal; vertical-align: top; }
/* Tablo: altta hızlı satır ekleme */
table.sheet-table tr.quick-add td { background: var(--surface-2); vertical-align: middle; padding-top: 6px; padding-bottom: 6px; }
table.sheet-table tr.quick-add input, table.sheet-table tr.quick-add select { min-width: 110px; min-height: 34px; padding: 5px 8px; font-size: 13px; }
table.sheet-table tr.quick-add .rownum .icon { width: 14px; height: 14px; color: var(--brand-secondary); }
.table-hint { display: flex; align-items: center; gap: 6px; font-size: 12.5px; margin: 0; }
.btn.is-active { border-color: var(--brand-secondary); color: var(--brand-secondary); }
.table-hint .icon { width: 14px; height: 14px; }
/* Sütun düzenleme: her sütunun altında "Düzenle"; düzenlenen hücreler kutulu */
table.sheet-table tr.col-tools td { background: var(--surface); border-top: 1px solid var(--border); padding-top: 8px; padding-bottom: 8px; vertical-align: top; }
table.sheet-table tr.col-tools [hidden] { display: none !important; }
table.sheet-table tr.col-tools .btn { white-space: nowrap; }
table.sheet-table tr.col-tools [data-col-idle], table.sheet-table tr.col-tools [data-col-actions] { flex-wrap: nowrap; gap: 6px; }
/* Yalnız ikonlu kare düğme (sütun altı araçları; adı title ve ekran okuyucu metninde) */
.btn.btn--icon { padding: 0; width: 32px; min-width: 32px; justify-content: center; gap: 0; }
.btn.btn--icon .icon { margin: 0; }
/* Tablo yana taşsa da satır araçları (sağ) ve satır numarası (sol) hep görünür */
table.sheet-table th.actions, table.sheet-table td.actions { position: sticky; right: 0; z-index: 2; background: var(--surface);
    box-shadow: -10px 0 12px -10px rgba(1, 24, 47, .35); }
table.sheet-table thead th.actions { z-index: 3; }
table.sheet-table tr.quick-add td.actions, table.sheet-table tr.row-editing td.actions { background: var(--info-bg, var(--surface-2)); }
table.sheet-table tr.col-tools > td:last-child { position: sticky; right: 0; background: var(--surface); }
table.sheet-table td.rownum, table.sheet-table thead th:first-child { position: sticky; left: 0; z-index: 2; background: var(--surface); }
table.sheet-table tr.quick-add td.rownum, table.sheet-table tr.row-editing td.rownum { background: var(--info-bg, var(--surface-2)); }
table.sheet-table td.col-editing { background: var(--info-bg, var(--surface-2)) !important; color: inherit !important; padding-top: 6px; padding-bottom: 6px; }
table.sheet-table td.col-editing input, table.sheet-table td.col-editing select { width: 100%; min-width: 0; min-height: 34px; padding: 5px 8px; font-size: 13px; }
table.sheet-table td.is-saved { animation: row-saved 2.4s ease-out; }
/* Hücre seçimi (yönetici): seçili hücreler çerçeveli; renk çubuğu tablonun üstünde yapışkan */
table.sheet-table.is-selectable td.cell { cursor: cell; user-select: none; }
table.sheet-table td.cell.is-selected { box-shadow: inset 0 0 0 2px var(--brand-secondary); background-image: linear-gradient(rgba(69, 193, 239, .16), rgba(69, 193, 239, .16)); }
/* Hücre rengi araç çubuğu: cam görünümlü yuvarlak kart; seçim varken vurgulanır ve kaydırırken üstte kalır */
.cell-tools { position: sticky; top: 10px; z-index: 6; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: 10px 12px 10px 10px; margin-bottom: 12px;
    background: color-mix(in srgb, var(--surface) 88%, transparent); -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2);
    border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 1px 2px rgba(1, 24, 47, .06); transition: box-shadow .2s, border-color .2s; }
.cell-tools:not(.is-empty) { border-color: color-mix(in srgb, var(--brand-secondary) 60%, var(--border));
    box-shadow: 0 12px 32px rgba(1, 24, 47, .18), 0 0 0 3px color-mix(in srgb, var(--brand-secondary) 18%, transparent); }
.cell-tools.is-empty { position: static; }
.cell-tools [hidden] { display: none !important; }
.cell-tools__head { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cell-tools__icon { width: 36px; height: 36px; flex: none; border-radius: 11px; display: grid; place-items: center; color: #fff;
    background: var(--grad-brand); box-shadow: 0 4px 12px rgba(31, 143, 214, .3); }
.cell-tools__icon .icon { width: 18px; height: 18px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .4)); }
.cell-tools__text { display: flex; flex-direction: column; line-height: 1.3; }
.cell-tools__text strong { font-size: 13.5px; color: var(--heading); }
.cell-tools__text small { font-size: 12px; color: var(--muted); }
.cell-tools:not(.is-empty) .cell-tools__text small { color: var(--brand-secondary); font-weight: 600; }
.cell-tools__swatches { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 5px; border-radius: 12px; background: var(--surface-2); }
.cell-tools__sep { width: 1px; height: 22px; background: var(--border); margin: 0 3px; }
.cell-tools__actions { display: flex; gap: 6px; margin-left: auto; }
.chip-swatch { width: 28px; height: 28px; flex: none; border-radius: 9px; border: 0; padding: 0; cursor: pointer; background: var(--c);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .12); transition: transform .12s, box-shadow .12s, opacity .12s; }
.chip-swatch:hover:not(:disabled) { transform: translateY(-2px) scale(1.08); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 6px 14px color-mix(in srgb, var(--c) 55%, transparent); }
.chip-swatch:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 2px; }
.chip-swatch:disabled { cursor: not-allowed; opacity: .45; filter: saturate(.7); }
.chip-swatch--custom { display: grid; place-items: center; color: var(--heading); font-size: 18px; font-weight: 600; line-height: 1; border: 2px solid transparent; box-shadow: none;
    background: var(--surface); border-style: dashed; border-color: var(--brand-secondary); }
.chip-swatch--custom.is-active { color: #fff; background: var(--grad-brand); border-style: solid; border-color: transparent; }
.chip-swatch-wrap { position: relative; display: inline-flex; }
.chip-swatch__x { position: absolute; top: -6px; right: -6px; width: 17px; height: 17px; border-radius: 50%; border: 2px solid var(--surface-2); padding: 0; display: grid; place-items: center;
    font-size: 12px; line-height: 1; background: var(--heading); color: var(--surface); cursor: pointer; opacity: 0; transform: scale(.7); transition: opacity .12s, transform .12s; }
.chip-swatch-wrap:hover .chip-swatch__x, .chip-swatch__x:focus-visible { opacity: 1; transform: scale(1); }
.cell-tools[hidden] { display: none !important; }
/* Yazı biçimi paneli (düzenleme açıkken hücre rengi panelinin yerinde; hep vurgulu ve yapışkan) */
.fmt-tools { border-color: color-mix(in srgb, var(--brand-secondary) 60%, var(--border));
    box-shadow: 0 12px 32px rgba(1, 24, 47, .18), 0 0 0 3px color-mix(in srgb, var(--brand-secondary) 18%, transparent); }
.cell-tools__icon--text { font-size: 15px; font-weight: 700; letter-spacing: -.02em; text-shadow: 0 1px 1px rgba(0, 0, 0, .35); }
.fmt-tools .cell-tools__text small { color: var(--brand-secondary); font-weight: 600; }
.fmt-btn { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; color: var(--heading);
    font-size: 15px; font-family: Georgia, 'Times New Roman', serif; cursor: pointer; transition: background .12s, color .12s; }
.fmt-btn .icon { width: 17px; height: 17px; }
.fmt-btn:hover { background: color-mix(in srgb, var(--heading) 10%, transparent); }
.fmt-btn[aria-pressed="true"] { background: var(--brand-secondary); color: #01182f; box-shadow: 0 4px 10px color-mix(in srgb, var(--brand-secondary) 40%, transparent); }
.fmt-btn:focus-visible, .fmt-color:focus-visible, .seg__btn:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 2px; }
.fmt-color { position: relative; width: 28px; height: 28px; flex: none; display: grid; place-items: center; border: 0; border-radius: 9px; cursor: pointer;
    background: #fff; color: var(--c, #1f2933); font-weight: 800; font-size: 14px; line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); transition: transform .12s; }
.fmt-color::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 4px; height: 3px; border-radius: 2px; background: var(--c, #1f2933); }
.fmt-color[style*="#ffffff"] { background: #6b7785; }
.fmt-color:hover { transform: translateY(-2px); }
.fmt-color[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--brand-secondary), 0 4px 10px color-mix(in srgb, var(--brand-secondary) 35%, transparent); }
.fmt-color--auto::after { background: linear-gradient(90deg, #000 50%, #fff 50%); box-shadow: 0 0 0 1px var(--border); }
.fmt-color--custom { color: var(--heading); font-size: 17px; font-weight: 600; overflow: hidden;
    background: var(--surface); border: 2px dashed var(--brand-secondary); box-shadow: none; }
.fmt-color--custom::after { content: none; }
.fmt-color--custom input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.seg { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--border); }
.seg__btn { border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: 8px; cursor: pointer; transition: background .12s, color .12s; }
.seg__btn.is-active { background: var(--surface); color: var(--heading); box-shadow: 0 1px 3px rgba(1, 24, 47, .18); }
.fmt-tools__note { font-size: 12px; }
/* Kendi rengini oluştur paneli */
.color-pop { flex-basis: 100%; display: grid; grid-template-columns: 128px 1fr; gap: 10px 16px; align-items: center; padding: 14px; border-radius: 14px;
    background: var(--surface-2); border: 1px solid var(--border); }
.color-pop__preview { grid-row: 1 / span 3; align-self: stretch; min-height: 112px; border-radius: 12px; background: var(--c); color: var(--t); display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 4px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1), 0 8px 20px color-mix(in srgb, var(--c) 35%, transparent); transition: background .15s, color .15s; }
.color-pop__preview span { font-size: 30px; font-weight: 700; }
.color-pop__preview small { font-size: 12px; font-weight: 600; letter-spacing: .05em; opacity: .85; }
.color-pop__controls { display: flex; gap: 10px; align-items: center; }
.color-pop__picker { width: 44px; height: 40px; flex: none; border-radius: 10px; overflow: hidden; cursor: pointer; box-shadow: inset 0 0 0 1px var(--border); }
.color-pop__picker input { width: 70px; height: 70px; margin: -15px; border: 0; padding: 0; cursor: pointer; background: none; }
.color-pop__controls input[type=text] { width: 124px; font-family: ui-monospace, Consolas, monospace; letter-spacing: .04em; text-transform: uppercase; }
.color-pop__controls input.is-invalid { border-color: var(--brand-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 20%, transparent); }
.color-pop__actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 640px) {
    .color-pop { grid-template-columns: 1fr; }
    .color-pop__preview { grid-row: auto; min-height: 72px; }
    .cell-tools__actions { margin-left: 0; }
}
table.sheet-table tr[hidden] { display: none; }
table.sheet-table tr.row-editing td { background: var(--info-bg, var(--surface-2)); }
/* Düzenleme ve başlık satırında kutular sütunun genişliğine sığar; tablo genişlemez. */
table.sheet-table tr.row-editing input, table.sheet-table tr.row-editing select,
table.sheet-table tr.head-edit input, table.sheet-table tr.head-edit select { min-width: 0; width: 100%; }
table.sheet-table tr.row-editing .rownum { white-space: nowrap; font-size: 12px; color: var(--muted); }
table.sheet-table tr.is-saved td { animation: row-saved 2.4s ease-out; }
table.sheet-table tr.is-saved th { animation: head-saved 2.4s ease-out; }
@keyframes head-saved { 0%, 35% { box-shadow: inset 0 0 0 999px rgba(69, 193, 239, .35); } 100% { box-shadow: inset 0 0 0 999px rgba(69, 193, 239, 0); } }
table.sheet-table th.actions { text-align: right; }
@keyframes row-saved { 0%, 35% { background: rgba(69, 193, 239, .22); } 100% { background: transparent; } }
table.sheet-table tr.head-edit td { vertical-align: top; }
table.sheet-table tr.head-edit input { width: 100%; font-weight: 600; }
table.sheet-table tr.head-edit .head-edit__color { width: 100%; margin-top: 6px; min-height: 30px; font-size: 12px; }
.quick-add__bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 10px 0 4px; justify-content: flex-start; }
.quick-add__bar [hidden], tr.quick-add[hidden] { display: none !important; }

/* Ekipler: logo ve afiş kartları */
.team-logo { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex: none; display: grid; place-items: center;
    background: var(--brand-primary); color: #fff; font-weight: 700; font-size: 18px; border: 3px solid var(--surface); box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
.team-logo img { width: 100%; height: 100%; object-fit: cover; display: block; background: #fff; }
.team-logo--lg { width: 84px; height: 84px; font-size: 26px; }
.team-logo--md { width: 72px; height: 72px; font-size: 22px; }
.team-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.team-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
.team-card.is-done { opacity: .75; }
.team-card__banner { height: 96px; position: relative; background: linear-gradient(120deg, #01182f, #0a4a6e 55%, #45c1ef); }
.team-card__banner--topluluk { background: linear-gradient(120deg, #1b5e20, #2e7d32 55%, #81c784); }
.team-card__banner--grup { background: linear-gradient(120deg, #4a148c, #6a1b9a 55%, #ba68c8); }
.team-card__banner .team-logo { position: absolute; left: 18px; bottom: -36px; }
.team-card__body { padding: 44px 18px 16px; display: grid; gap: 8px; flex: 1; align-content: start; }
.team-card__name { margin: 0; font-size: 17px; line-height: 1.3; }
.team-card__name a { color: var(--heading); text-decoration: none; }
.team-card__meta { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.team-card__desc { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.5; }
.team-card__desc .icon { width: 13px; height: 13px; vertical-align: -2px; }
.team-card__stats { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--text); }
.team-card__stats span { display: inline-flex; align-items: center; gap: 5px; }
.team-card__stats .icon { width: 14px; height: 14px; color: var(--brand-secondary); }
.team-card__stats em { font-style: normal; }
.team-pf__head .team-logo { width: 96px; height: 96px; font-size: 30px; }
.team-logo-edit { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.team-members { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.team-member { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); text-decoration: none; color: var(--text); }
a.team-member:hover { border-color: var(--brand-secondary); }
.team-member--lead { border-left: 3px solid var(--brand-secondary); }
.team-member__avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--brand-primary); color: #fff; font-size: 12px; font-weight: 700; }
.team-member strong { display: block; font-size: 13px; color: var(--heading); }
.team-member small { display: block; font-size: 11.5px; color: var(--brand-secondary); }
@media print { .team-member { break-inside: avoid; } }
/* Ekipler: görünüm seçici ve uzun (liste) kartlar — afiş yalnız "Kart" görünümünde */
.view-toggle { display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: var(--seg-bg); }
.view-toggle .btn { border: 0; background: transparent; box-shadow: none; }
.view-toggle .btn.is-active { background: var(--seg-active); color: var(--heading); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.team-cards.is-list { grid-template-columns: 1fr; gap: 12px; }
.team-cards.is-list .team-card { flex-direction: row; align-items: center; }
.team-cards.is-list .team-card__banner { background: none; height: auto; padding: 16px 0 16px 18px; flex: none; }
.team-cards.is-list .team-card__banner .team-logo { position: static; width: 64px; height: 64px; font-size: 20px; }
.team-cards.is-list .team-card__body { padding: 16px 18px; flex: 1; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; row-gap: 6px; }
.team-cards.is-list .team-card__body > * { grid-column: 1; }
.team-cards.is-list .team-card__stats { grid-column: 2; grid-row: 1 / span 4; align-self: center; flex-direction: column; gap: 6px; border-top: 0; margin: 0; padding: 0 0 0 20px; border-left: 1px solid var(--border); min-width: 170px; }
.team-cards.is-list .team-card__desc { max-width: 80ch; }
@media (max-width: 760px) {
    .team-cards.is-list .team-card { align-items: flex-start; }
    .team-cards.is-list .team-card__body { grid-template-columns: 1fr; }
    .team-cards.is-list .team-card__stats { grid-column: 1; grid-row: auto; flex-direction: row; flex-wrap: wrap; border-left: 0; padding: 8px 0 0; border-top: 1px solid var(--border); min-width: 0; }
}
/* Kart görünümü afişsiz (logo kartın içinde, üstte); liste kartları daha büyük */
.team-cards.is-grid .team-card__banner { background: none; height: auto; padding: 20px 20px 0; }
.team-cards.is-grid .team-card__banner .team-logo { position: static; }
.team-cards.is-grid .team-card__body { padding: 12px 20px 18px; }
.team-cards.is-list { gap: 14px; }
.team-cards.is-list .team-card__banner { padding: 22px 0 22px 24px; }
.team-cards.is-list .team-card__banner .team-logo { width: 84px; height: 84px; font-size: 26px; }
.team-cards.is-list .team-card__body { padding: 22px 24px; row-gap: 8px; }
.team-cards.is-list .team-card__name { font-size: 19px; }
.team-cards.is-list .team-card__desc { font-size: 14px; }
.team-cards.is-list .team-card__stats { font-size: 13.5px; gap: 8px; min-width: 190px; padding-left: 24px; }
.team-cards.is-list .team-card__stats .icon { width: 16px; height: 16px; }
@media (max-width: 760px) {
    .team-cards.is-list .team-card__banner { padding: 18px 0 0 18px; }
    .team-cards.is-list .team-card__banner .team-logo { width: 64px; height: 64px; font-size: 20px; }
    .team-cards.is-list .team-card__body { padding: 18px; }
}
/* Ekip sayfası > Üyeler ve yönetim: solda üyeler, sağda bilgiler / WhatsApp / öneriler (dar ekranda üyeler önce) */
.team-manage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 20px; align-items: start; }
.team-manage__side { order: 2; }
.team-manage__side, .team-manage__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.team-manage__side > .card, .team-manage__main > .card { margin: 0; }
.team-manage__side .card > .btn { margin-top: 14px; }
.dl--stack { grid-template-columns: 1fr; gap: 2px; }
.dl--stack dd { margin-bottom: 10px; }
.wa-links { list-style: none; margin: 0 0 12px; padding: 0; }
.wa-links li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.wa-links li:last-child { border-bottom: 0; }
.wa-links li > div:first-child { display: flex; flex-direction: column; min-width: 0; font-size: 13.5px; }
.wa-links__url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wa-links .btn-row { flex-wrap: nowrap; gap: 6px; }
.wa-form { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 12px; }
.wa-form label { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.wa-form .btn { align-self: flex-start; margin-top: 6px; }
#whatsapp > small { display: block; margin-top: 10px; }
@media (max-width: 1100px) { .team-manage { grid-template-columns: minmax(0, 1fr); } }
/* Ekip sayfası: beş sayı kartı tek satırda; üye eklerken görev seçimi */
.mini-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1200px) { .mini-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .mini-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.match-role { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.match-role select { width: auto; min-width: 120px; }
/* Kişi formu: 18 yaş altında gizlenen "Çalıştığı yer" alanı */
[data-adult-only][hidden], [data-adult-hint][hidden] { display: none !important; }

/* Google Kişiler'e kaydet */
.contacts-page { align-items: start; }
.contacts-form { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.contacts-account { align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.contacts-account > span { display: flex; flex-direction: column; gap: 2px; }
.contact-preview { border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 14px; }
.contact-preview__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.contact-preview__head > div { display: flex; flex-direction: column; }
.contact-preview__avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-secondary); color: #01182f; font-weight: 700; flex: none; }
.contact-preview__notes { font-weight: 400; font-size: 12.5px; }
.contact-preview__labels { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
[data-lise-only][hidden], [data-intern-only][hidden] { display: none !important; }

/* Gönderen seçimi (kurum / kendi hesabım) */
.sender-select { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.sender-select select { width: auto; min-width: 150px; }
/* Hesaplar: kurum hesabı / benim hesabım */
.accounts-split { align-items: start; }
.accounts-split .account-list { margin: 0 0 6px; }
.wa-account { border-top: 1px solid var(--border); margin-top: 16px; padding-top: 14px; }
.wa-account__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.wa-account__head strong { display: inline-flex; align-items: center; gap: 6px; }
.wa-form--inline { flex-direction: row; flex-wrap: wrap; align-items: center; }
.wa-form--inline input { flex: 1 1 200px; width: auto; }

/* Google Kişiler düğmesi (uygulamanın mavisi ve simgesi) */
.btn--gcontacts { background: #1a73e8; color: #fff; border-color: #1a73e8; }
.btn--gcontacts:hover { background: #1557b0; border-color: #1557b0; color: #fff; }
.btn--gcontacts .icon { width: 1.3em; height: 1.3em; }
.account-fix { margin: 8px 0; }
.api-auto { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }

/* Kurulum yolları (Gmail / Workspace) */
.path-tabs__bar { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 14px; }
.path-tab { flex: 1 1 200px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius); cursor: pointer; }
.path-tab span { display: flex; flex-direction: column; }
.path-tab small { color: var(--muted); font-size: 12px; }
.path-tab:has(input:checked) { border-color: var(--brand-secondary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-secondary) 30%, transparent); }
.path-pane { display: none; }
.path-tabs:has(input[value="external"]:checked) .path-pane--external,
.path-tabs:has(input[value="internal"]:checked) .path-pane--internal { display: block; }
.code-copy { position: relative; margin: 8px 0; }
.code-copy pre { margin: 0; padding: 12px 14px; padding-right: 110px; background: #0b1622; color: #d6e6f5; border-radius: var(--radius-sm); font-size: 12px; line-height: 1.5; white-space: pre-wrap; word-break: break-all; }
.code-copy .btn { position: absolute; top: 8px; right: 8px; }
.sa-form { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
.sa-form label { font-size: 12.5px; color: var(--muted); }
.service-connect { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.service-connect input { flex: 1 1 220px; width: auto; }
/* Canlıya geçiş */
.golive__list { list-style: none; margin: 10px 0 0; padding: 0; }
.golive__item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--border); }
.golive__item:last-child { border-bottom: 0; }
.golive__mark { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--warning-bg); color: var(--warning); }
.golive__item--ok .golive__mark { background: var(--success-bg); color: var(--success); }
.golive__body { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.golive > summary { display: flex; align-items: center; cursor: pointer; list-style: none; }
.golive > summary::-webkit-details-marker { display: none; }
.golive > summary h2 { margin: 0; display: inline-flex; align-items: center; gap: 8px; }

/* Ekip sayfası: formlar ve etkinlikler (oluşturma kısayolları + listeler) */
.team-hub__actions { display: grid; gap: 8px; margin-bottom: 4px; }
.team-hub__action { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface-2);
    color: var(--text); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.team-hub__action:hover { border-color: var(--brand-secondary); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(1, 24, 47, .12); }
.team-hub__action strong { display: block; font-size: 13.5px; color: var(--heading); }
.team-hub__action small { display: block; font-size: 12px; color: var(--muted); line-height: 1.35; }
.team-hub__icon { width: 36px; height: 36px; flex: none; border-radius: 10px; display: grid; place-items: center; color: #fff; }
.team-hub__icon .icon { width: 18px; height: 18px; }
.team-hub__icon--apply { background: var(--grad-5); }
.team-hub__icon--form { background: var(--grad-1); }
.team-hub__icon--event { background: var(--grad-2); }
.team-hub__title { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin: 16px 0 6px; }
.team-hub__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.team-hub__list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding-bottom: 8px; border-bottom: 1px dashed var(--border); }
.team-hub__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.team-hub__list small { flex-basis: 100%; }
/* Ekip rozeti ("Başvuru: Ekip", formlar / etkinlikler listesinde ekip) */
.chip.chip--team { display: inline-flex; align-items: center; gap: 4px; background: color-mix(in srgb, var(--brand-secondary) 14%, transparent); color: var(--heading);
    border: 1px solid color-mix(in srgb, var(--brand-secondary) 45%, transparent); text-decoration: none; }
.chip.chip--team .icon { width: 13px; height: 13px; color: var(--brand-secondary); }
/* Ekip başvuruları listesi */
.app-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.app-item { padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.app-item__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px 16px; flex-wrap: wrap; }
.app-item__who { min-width: 0; }
.app-item__who .badge, .app-item__who .chip { margin-left: 4px; }
.app-item__actions { flex-wrap: wrap; }
.app-item__answers { margin-top: 8px; }
.app-item__answers summary { cursor: pointer; font-size: 13px; color: var(--link, var(--brand-secondary)); }
.app-item__answers dl { margin: 8px 0 0; display: grid; gap: 4px; }
.app-item__answers dt { font-size: 12px; color: var(--muted); }
.app-item__answers dd { margin: 0 0 6px; }
.card--accent { border-color: color-mix(in srgb, var(--brand-secondary) 55%, var(--border)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-secondary) 14%, transparent); }
.check.google-now { align-items: flex-start; margin: 4px 0 14px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.check.google-now strong { display: block; color: var(--heading); }
.check.google-now small { display: block; font-size: 12px; }

/* =====================================================================================================
 * TASARIM DİLİ 2 — sitenin geneline yayılan modern katman (ekip / tablo araçlarında başlayan dil).
 * Kurum renkleri (lacivert, camgöbeği, kırmızı) korunur; renkli geçişli ikon kutuları, yuvarlak kartlar,
 * hafif kalkan etkileşimler, bölmeli (segment) sekmeler. Görünümlere dokunmaz; kaldırmak için bu bloğu silin.
 * ===================================================================================================== */
:root {
    --radius: 14px;
    --radius-sm: 10px;
    --grad-brand: linear-gradient(135deg, #1f8fd6 0%, #45c1ef 100%);
    --grad-1: linear-gradient(135deg, #1f8fd6, #45c1ef);
    /* Hepsi kurum paletinden: okyanus mavisi, lacivert, turkuaz-camgöbeği, kurum kırmızısı */
    --grad-2: linear-gradient(135deg, #0e6a9c, #2fb0e4);
    --grad-3: linear-gradient(135deg, #0b3556, #1f6fa8);
    --grad-4: linear-gradient(135deg, #12879b, #45c1ef);
    --grad-5: linear-gradient(135deg, #a60a27, #e8445f);
    /* Ana düğme: açık temada lacivert geçiş, koyu temada camgöbeği geçiş (ikincil düğmeyle aynı dil) */
    --grad-btn: linear-gradient(135deg, #01182f, #0b4470);
    --grad-accent: linear-gradient(135deg, #a60a27, #e8445f);
    --lift-shadow: 0 10px 24px rgba(1, 24, 47, .12);
    --card-border: rgba(1, 24, 47, .06);
}
:root[data-theme="dark"] { --card-border: rgba(255, 255, 255, .05); --lift-shadow: 0 10px 26px rgba(0, 0, 0, .45); --grad-btn: linear-gradient(135deg, #2fa9e6, #6fd0f4); --grad-3: linear-gradient(135deg, #1d5a8a, #3a8fd0); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --card-border: rgba(255, 255, 255, .05); --lift-shadow: 0 10px 26px rgba(0, 0, 0, .45); --grad-btn: linear-gradient(135deg, #2fa9e6, #6fd0f4); --grad-3: linear-gradient(135deg, #1d5a8a, #3a8fd0); } }

/* Kartlar ve tablo kutuları: daha yuvarlak, ince çerçeve */
.card, .table-wrap, .bulkbar, .stat { border: 1px solid var(--card-border); }
.card { border-radius: 16px; }

/* Kart başlığındaki ikon: renkli geçişli kare kutu (kurum camgöbeği) */
.card > h2 > .icon:first-child, .card__head h2 > .icon:first-child, .card > summary > h2 > .icon:first-child {
    box-sizing: content-box; width: 16px; height: 16px; padding: 7px; border-radius: 10px; margin-right: 4px; vertical-align: middle;
    background: var(--grad-brand); color: #fff; stroke-width: 2; box-shadow: 0 4px 12px rgba(31, 143, 214, .32);
}

/* Sayı kutuları: dönüşümlü renkli geçişli ikon, üzerine gelince hafif kalkar */
.stat { border-radius: 16px; transition: transform .15s, box-shadow .15s; }
.stat__icon { background: var(--grad-1); color: #fff; box-shadow: 0 6px 14px rgba(31, 143, 214, .28); }
.stat:nth-child(5n+2) .stat__icon { background: var(--grad-2); box-shadow: 0 6px 14px rgba(14, 106, 156, .28); }
.stat:nth-child(5n+3) .stat__icon { background: var(--grad-3); box-shadow: 0 6px 14px rgba(11, 53, 86, .3); }
.stat:nth-child(5n+4) .stat__icon { background: var(--grad-4); box-shadow: 0 6px 14px rgba(18, 135, 155, .28); }
.stat:nth-child(5n+5) .stat__icon { background: var(--grad-5); box-shadow: 0 6px 14px rgba(166, 10, 39, .26); }
.stat__icon .icon { stroke-width: 2; }
.stat--link:hover { transform: translateY(-2px); box-shadow: var(--lift-shadow); border-color: var(--brand-secondary); }

/* Düğmeler: yuvarlak, birincil düğmede hafif geçiş ve kalkma */
.btn { border-radius: 10px; transition: background-color .15s, border-color .15s, color .15s, transform .12s, box-shadow .15s; }
.btn:not(.btn--ghost):not(.btn--danger):not(.btn--whatsapp):not(.btn--gcontacts):not(.btn--icon):not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(1, 24, 47, .18); }
.btn:not(.btn--ghost):not(.btn--danger):not(.btn--whatsapp):not(.btn--gcontacts):not(.btn--secondary) { background: var(--grad-btn); border-color: transparent; }
.btn:not(.btn--ghost):not(.btn--danger):not(.btn--whatsapp):not(.btn--gcontacts):not(.btn--secondary):not(:disabled):hover { background: var(--grad-btn); filter: brightness(1.12); }
.btn--secondary { background: var(--grad-brand); border-color: transparent; color: #fff; }
.btn--secondary:hover { background: var(--grad-brand); filter: brightness(1.06); color: #fff; }
.btn--whatsapp:hover, .btn--gcontacts:hover { transform: translateY(-1px); }

/* Sekmeler: bölmeli (segment) görünüm — sayfa sekmeleri ve klasik sekmeler */
.page-tabs, .tabs:not(.assign__tabs) { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 4px; border: 0; border-radius: 12px; background: var(--seg-bg); max-width: 100%; }
.page-tabs a, .tabs:not(.assign__tabs) a { border: 0; margin: 0; padding: 7px 14px; border-radius: 9px; font-weight: 500; font-size: 13px; color: var(--muted); transition: background-color .15s, color .15s; }
.page-tabs a:hover, .tabs:not(.assign__tabs) a:hover { color: var(--heading); background: color-mix(in srgb, var(--seg-active) 55%, transparent); }
.page-tabs a.is-active, .tabs:not(.assign__tabs) a.is-active { background: var(--seg-active); color: var(--heading); font-weight: 600; box-shadow: 0 1px 3px rgba(1, 24, 47, .16); }
.assign__tabs { border-radius: 12px; padding: 4px; }
.assign__tabs label { border-radius: 9px; }

/* Form alanları */
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=search], input[type=tel], input[type=url], input[type=time], select, textarea { border-radius: 10px; }

/* Rozet ve etiketler: yumuşak kenarlı */
.badge { border-radius: 8px; }
.chip { border-radius: 999px; }

/* Uyarılar: solda renk şeridi, yuvarlak */
.alert { position: relative; border-radius: 12px; padding-left: 22px; }
.alert::before { content: ""; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: currentColor; opacity: .7; }

/* Tablolar: başlık satırı sade, satır üzerine gelince camgöbeği ince vurgu */
table.data tbody tr { transition: background-color .12s; }

/* Boş durum ikonu: renkli geçişli yuvarlak kutu */
.empty .icon--lg { box-sizing: content-box; padding: 14px; border-radius: 16px; background: var(--grad-brand); color: #fff; box-shadow: 0 8px 18px rgba(31, 143, 214, .3); }

/* Menü: aktif öğe geçişli zemin, ince camgöbeği şerit */
.sidebar__nav a.is-active, .nav-group.is-active > summary { background: linear-gradient(90deg, rgba(69, 193, 239, .22), rgba(69, 193, 239, .06)); }
.sidebar__nav a, .nav-group > summary { border-radius: 10px; transition: background-color .15s, color .15s; }

/* Etiket önerileri (Kişiler > Eşleştir > Etiket önerileri) */
.tag-suggest-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.tag-suggest { margin-bottom: 0; padding: 18px; }
.tag-suggest h3 { margin: 0 0 10px; font-size: 15px; }
.tag-suggest h3 a { color: var(--heading); text-decoration: none; }
.tag-suggest h3 a:hover { color: var(--link); text-decoration: underline; }
.tag-suggest__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tag-pick { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.tag-pick strong { font-size: 13.5px; color: var(--heading); }
.tag-pick__kind { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; color: #fff; }
.tag-pick__kind--beceri { background: var(--grad-3); }
.tag-pick__kind--ilgi { background: var(--grad-1); }
.tag-pick__why { display: block; margin: 2px 0 0 28px; font-size: 12px; line-height: 1.4; }
.pf-similar li[hidden] { display: none; }
.pf-more { margin-top: 10px; justify-content: center; }
.similar-table__parts .chip { margin: 2px 4px 2px 0; }
.similar-table td { vertical-align: top; }
.similar-note { margin-top: 12px; font-size: 12.5px; }
.backup-status { font-size: 13px; margin: 0 0 14px; }
.backup-status .icon { color: var(--brand-secondary); }
.text-danger { color: var(--brand-accent); }

/* Uygulama kartları kendi uygulamasının temasında (sırayla dönen kurum renklerinin yerine): Google = beyaz zemin + renkli "G",
   WhatsApp = WhatsApp yeşili + beyaz logo. Seçici, sıra kurallarından (.stat:nth-child … .stat__icon) güçlü olsun diye üç sınıflı. */
.stat .stat__icon.stat__icon--google { background: #fff; color: inherit; box-shadow: 0 6px 14px rgba(66, 133, 244, .22), inset 0 0 0 1px rgba(60, 64, 67, .12); }
.stat .stat__icon.stat__icon--google .icon { width: 26px; height: 26px; }
.stat .stat__icon.stat__icon--whatsapp { background: linear-gradient(135deg, #25d366, #128c7e); color: #fff; box-shadow: 0 6px 14px rgba(37, 211, 102, .3); }

/* Mizaç (Enneagram) ayrıntıları: test sonuç kartında açılır bölüm, ekip sayfasında merkez dengesi, Kaynaklar sayfası. */
.chip--ok { background: var(--success-bg); color: var(--success); }
.ennea { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 12px; }
.ennea > summary { cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 8px; list-style: none; color: var(--heading); }
.ennea > summary::-webkit-details-marker { display: none; }
.ennea > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; opacity: .6; }
.ennea[open] > summary::after { transform: rotate(-135deg); }
.ennea > summary .icon { color: var(--brand-secondary); }
.ennea > summary .muted { font-weight: 400; }
.ennea__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 6px; }
.ennea__motto { font-style: italic; margin: 4px 0 10px; }
.ennea__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 18px; margin: 0 0 14px; }
.ennea__facts div { border-left: 3px solid color-mix(in srgb, var(--brand-secondary) 55%, transparent); padding-left: 10px; }
.ennea__facts dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 2px; }
.ennea__facts dd { margin: 0; }
.ennea h3 { font-size: .95rem; margin: 10px 0 6px; }
.ennea__levels { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
.ennea__levels li { padding: 8px 12px; border-radius: var(--radius-sm); background: color-mix(in srgb, var(--brand-secondary) 8%, transparent); }
.ennea__levels li.is-good { background: var(--success-bg); }
.ennea__levels li.is-low { background: var(--warning-bg); }
.ennea__levels strong { display: inline-block; min-width: 82px; }
.ennea__source { font-size: .82rem; margin-top: 10px; }
.centers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.centers__item { border: 1px solid var(--border); border-radius: 12px; padding: 10px; text-align: center; }
.centers__item strong { display: block; font-size: 1.4rem; color: var(--heading); }
.centers__item small { display: block; color: var(--muted); }
.centers__item.is-missing { border-style: dashed; border-color: color-mix(in srgb, var(--brand-accent) 55%, transparent); }
.centers__types { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
.doc-list { display: grid; gap: 12px; }
.doc-item { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--border); border-radius: 16px; padding: 14px; }
.doc-item__icon { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--grad-1); color: #fff; }
.doc-item__body { flex: 1; min-width: 0; }
.doc-item__body h3 { margin: 0 0 4px; font-size: 1rem; }
.doc-item__body p { margin: 0 0 6px; }
.doc-item .btn-row { flex-wrap: wrap; }
.doc-viewer { width: 100%; height: 80vh; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
@media (max-width: 640px) { .doc-item { flex-direction: column; } .centers { grid-template-columns: 1fr; } }
.pf-strength__detail { display: block; margin-top: 2px; font-size: 12px; }
