/* ══════════════════════════════════════════════════════════════════════
   DiyetPro — yeni tasarım sistemi (müşteri paneli + tanıtım sayfaları)
   Yüklenme: system/lib/Theme.php → Theme::head('site'|'panel'): kz.css + kz-site.css | kz-panel.css
   Admin paneli eski sistemde kalır (base.css + admin.css + themes/*.css).

   RENKLER YALNIZCA --k-* DEĞİŞKENLERİNDEN GELİR. 5 palet × gündüz/gece:
   <html data-palette="okaliptus|deniz|erik|zeytin|kakao" data-theme="light|dark">
   Palet Admin → Ayarlar → Renk Teması'ndan seçilir. Eski adlar (--primary, --surface …) yeni
   değişkenlere bağlıdır; sayfalardaki küçük <style> blokları da yeni paleti kullanır.
   Yazı tipi: Figtree (SIL OFL 1.1). İkonlar: Lucide (ISC) — system/lib/Icon.php.
   ══════════════════════════════════════════════════════════════════════ */

@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url(../../../system/assets/vendor/fonts/karsilama/figtree-latin-ext-wght.woff2?v=1790868759) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url(../../../system/assets/vendor/fonts/karsilama/figtree-latin-wght.woff2?v=1790868759) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ── Ortak (tüm paletler): anlamsal renkler, gölgeler, gösterge renkleri ── */
:root {
  --k-ok: #2D7A4B; --k-ok-soft: #E3F1E8; --k-ok-ink: #22603A;
  --k-bad: #B4473F; --k-bad-soft: #F8E5E2; --k-bad-ink: #8E2F28;
  --k-warn: #A06814; --k-warn-soft: #F8ECD6; --k-warn-ink: #7A4E0C;
  --k-info: #2F6497; --k-info-soft: #E3ECF6; --k-info-ink: #24507A;
  --k-photo-filter: none;
  --k-g-z: #8FB3D9; --k-g-n: #8CC7A6; --k-g-f: #E9C27D; --k-g-o: #E39B8F;
  --k-c-z: #2F6497; --k-c-n: #2D7A4B; --k-c-f: #8F5A0E; --k-c-o: #A83A33;
  --k-shadow-sm: 0 1px 2px rgba(20, 30, 26, .04);
  --k-shadow:    0 1px 2px rgba(20, 30, 26, .04), 0 14px 34px -18px rgba(20, 30, 26, .18);
  --k-shadow-lg: 0 2px 6px rgba(15, 25, 20, .08), 0 26px 50px -22px rgba(10, 20, 16, .40);
}
[data-theme="dark"] {
  --k-ok: #7CC59A; --k-ok-soft: #1F3328; --k-ok-ink: #A3D9B8;
  --k-bad: #E58F86; --k-bad-soft: #3A2221; --k-bad-ink: #F2B3AC;
  --k-warn: #E0B169; --k-warn-soft: #3A2E1B; --k-warn-ink: #EECB92;
  --k-info: #8DB6E2; --k-info-soft: #1E2C3B; --k-info-ink: #B5D0EE;
  --k-photo-filter: brightness(.82) saturate(.92);
  --k-g-z: #6F94BA; --k-g-n: #6FAA8A; --k-g-f: #C9A261; --k-g-o: #C27F74;
  --k-c-z: #9CC3EA; --k-c-n: #91D2AC; --k-c-f: #EDC27E; --k-c-o: #F0A39A;
  --k-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
  --k-shadow:    0 1px 2px rgba(0, 0, 0, .3), 0 14px 34px -18px rgba(0, 0, 0, .55);
  --k-shadow-lg: 0 2px 6px rgba(0, 0, 0, .3), 0 26px 50px -22px rgba(0, 0, 0, .7);
}

/* ── Paletler ───────────────────────────────────────────────────────── */

/* Okaliptüs (gündüz) — varsayılan */
:root {
  --k-bg:           #F2F5F2;
  --k-surface:      #FCFDFC;
  --k-surface-2:    #E7EEE9;
  --k-text:         #1F2B26;
  --k-muted:        #56645E;
  --k-line:         #DAE3DD;
  --k-accent:       #2E6B55;
  --k-accent-rgb:   46, 107, 85;
  --k-accent-hover: #255946;
  --k-on-accent:    #FFFFFF;
  --k-accent-soft:  #DDEBE4;
  --k-accent-ink:   #22503F;
  --k-warm:         #F2CDAE;
  --k-warm-rgb:     242, 205, 174;
  --k-warm-hover:   #F6DAC2;
  --k-on-warm:      #2B1D12;
  --k-warm-soft:    #FBEEE3;
  --k-warm-ink:     #8A5532;
  --k-stage:        #1F3A31;
  --k-stage-2:      #26453A;
  --k-stage-text:   #EEF4F0;
  --k-stage-muted:  #B3C6BD;
  --k-stage-line:   rgba(238, 244, 240, .18);
  --k-chip:         #FCFDFC;
  --k-chip-text:    #1F2B26;
  --k-chip-muted:   #5D6B65;
  --k-foot:         #172E27;
  --k-foot-text:    #E9F0EC;
  --k-foot-muted:   #A7BBB2;
  --k-foot-line:    rgba(233, 240, 236, .12);
}

/* Okaliptüs (gece) */
[data-theme="dark"] {
  --k-bg:           #131A17;
  --k-surface:      #19221F;
  --k-surface-2:    #202B27;
  --k-text:         #DCE4E0;
  --k-muted:        #9AA9A2;
  --k-line:         #2A3631;
  --k-accent:       #86BFA9;
  --k-accent-rgb:   134, 191, 169;
  --k-accent-hover: #9DCDB9;
  --k-on-accent:    #10201A;
  --k-accent-soft:  #22342D;
  --k-accent-ink:   #A9D7C5;
  --k-warm:         #E6C09F;
  --k-warm-rgb:     230, 192, 159;
  --k-warm-hover:   #EDCDB1;
  --k-on-warm:      #2B1D12;
  --k-warm-soft:    #322920;
  --k-warm-ink:     #EBC4A2;
  --k-stage:        #1A2B25;
  --k-stage-2:      #20342D;
  --k-stage-text:   #E3EBE7;
  --k-stage-muted:  #A3B5AD;
  --k-stage-line:   rgba(227, 235, 231, .14);
  --k-chip:         #22302B;
  --k-chip-text:    #E3EBE7;
  --k-chip-muted:   #A3B5AD;
  --k-foot:         #0E1412;
  --k-foot-text:    #DCE4E0;
  --k-foot-muted:   #93A39C;
  --k-foot-line:    rgba(220, 228, 224, .10);
}

/* Deniz (gündüz) */
[data-palette="deniz"]:not([data-theme="dark"]) {
  --k-bg:           #F1F5F6;
  --k-surface:      #FCFDFD;
  --k-surface-2:    #E4EDF0;
  --k-text:         #1C2A30;
  --k-muted:        #536770;
  --k-line:         #D6E2E6;
  --k-accent:       #23687F;
  --k-accent-rgb:   35, 104, 127;
  --k-accent-hover: #1C5668;
  --k-on-accent:    #FFFFFF;
  --k-accent-soft:  #DAEAF0;
  --k-accent-ink:   #1B4E60;
  --k-warm:         #F0D2A8;
  --k-warm-rgb:     240, 210, 168;
  --k-warm-hover:   #F5DDBC;
  --k-on-warm:      #2A1E10;
  --k-warm-soft:    #FBF0E1;
  --k-warm-ink:     #86592A;
  --k-stage:        #183746;
  --k-stage-2:      #20475A;
  --k-stage-text:   #EEF5F8;
  --k-stage-muted:  #AFC6D0;
  --k-stage-line:   rgba(238, 245, 248, .18);
  --k-chip:         #FCFDFD;
  --k-chip-text:    #1C2A30;
  --k-chip-muted:   #536770;
  --k-foot:         #142D3A;
  --k-foot-text:    #E9F2F5;
  --k-foot-muted:   #A5BDC7;
  --k-foot-line:    rgba(233, 242, 245, .12);
}

/* Deniz (gece) */
[data-palette="deniz"][data-theme="dark"] {
  --k-bg:           #111A1E;
  --k-surface:      #172227;
  --k-surface-2:    #1D2A30;
  --k-text:         #DAE5E9;
  --k-muted:        #96A9B1;
  --k-line:         #283841;
  --k-accent:       #7EC0D6;
  --k-accent-rgb:   126, 192, 214;
  --k-accent-hover: #98CEE0;
  --k-on-accent:    #0D1E25;
  --k-accent-soft:  #1F3640;
  --k-accent-ink:   #A6D6E6;
  --k-warm:         #E5C89E;
  --k-warm-rgb:     229, 200, 158;
  --k-warm-hover:   #EDD5B3;
  --k-on-warm:      #2A1E10;
  --k-warm-soft:    #2F2A20;
  --k-warm-ink:     #EACB9F;
  --k-stage:        #16303B;
  --k-stage-2:      #1C3B48;
  --k-stage-text:   #E2ECF0;
  --k-stage-muted:  #A0B6BF;
  --k-stage-line:   rgba(226, 236, 240, .14);
  --k-chip:         #1F313A;
  --k-chip-text:    #E2ECF0;
  --k-chip-muted:   #A0B6BF;
  --k-foot:         #0C1418;
  --k-foot-text:    #DAE5E9;
  --k-foot-muted:   #8FA2AA;
  --k-foot-line:    rgba(218, 229, 233, .10);
}

/* Erik (gündüz) */
[data-palette="erik"]:not([data-theme="dark"]) {
  --k-bg:           #F6F3F5;
  --k-surface:      #FDFCFD;
  --k-surface-2:    #EDE5EB;
  --k-text:         #2B1F28;
  --k-muted:        #6A5966;
  --k-line:         #E3D8E0;
  --k-accent:       #7A3F6C;
  --k-accent-rgb:   122, 63, 108;
  --k-accent-hover: #66345A;
  --k-on-accent:    #FFFFFF;
  --k-accent-soft:  #F0E1EC;
  --k-accent-ink:   #5E2F53;
  --k-warm:         #F2C9B6;
  --k-warm-rgb:     242, 201, 182;
  --k-warm-hover:   #F6D7C8;
  --k-on-warm:      #2E1A12;
  --k-warm-soft:    #FBEDE6;
  --k-warm-ink:     #8C4E36;
  --k-stage:        #3A2236;
  --k-stage-2:      #4A2C45;
  --k-stage-text:   #F6EEF4;
  --k-stage-muted:  #CDB6C7;
  --k-stage-line:   rgba(246, 238, 244, .18);
  --k-chip:         #FDFCFD;
  --k-chip-text:    #2B1F28;
  --k-chip-muted:   #6A5966;
  --k-foot:         #2F1B2C;
  --k-foot-text:    #F3EAF0;
  --k-foot-muted:   #C2ABBC;
  --k-foot-line:    rgba(243, 234, 240, .12);
}

/* Erik (gece) */
[data-palette="erik"][data-theme="dark"] {
  --k-bg:           #1A1419;
  --k-surface:      #211A20;
  --k-surface-2:    #2A2129;
  --k-text:         #E7DDE4;
  --k-muted:        #AA99A6;
  --k-line:         #382C36;
  --k-accent:       #D49AC4;
  --k-accent-rgb:   212, 154, 196;
  --k-accent-hover: #E0B0D2;
  --k-on-accent:    #2A1225;
  --k-accent-soft:  #3A2635;
  --k-accent-ink:   #E8BEDC;
  --k-warm:         #E9C0AC;
  --k-warm-rgb:     233, 192, 172;
  --k-warm-hover:   #EFCDBD;
  --k-on-warm:      #2E1A12;
  --k-warm-soft:    #33251F;
  --k-warm-ink:     #EEC7B4;
  --k-stage:        #2E1C2B;
  --k-stage-2:      #3A2537;
  --k-stage-text:   #EEE4EB;
  --k-stage-muted:  #BCA8B7;
  --k-stage-line:   rgba(238, 228, 235, .14);
  --k-chip:         #352533;
  --k-chip-text:    #EEE4EB;
  --k-chip-muted:   #BCA8B7;
  --k-foot:         #140F13;
  --k-foot-text:    #E7DDE4;
  --k-foot-muted:   #A493A0;
  --k-foot-line:    rgba(231, 221, 228, .10);
}

/* Zeytin (gündüz) */
[data-palette="zeytin"]:not([data-theme="dark"]) {
  --k-bg:           #F5F5EF;
  --k-surface:      #FDFDF9;
  --k-surface-2:    #EBEBDF;
  --k-text:         #29291C;
  --k-muted:        #64644E;
  --k-line:         #DFDFCF;
  --k-accent:       #5F6B2A;
  --k-accent-rgb:   95, 107, 42;
  --k-accent-hover: #4F5923;
  --k-on-accent:    #FFFFFF;
  --k-accent-soft:  #E7EBD5;
  --k-accent-ink:   #485220;
  --k-warm:         #EBCB7E;
  --k-warm-rgb:     235, 203, 126;
  --k-warm-hover:   #F0D693;
  --k-on-warm:      #2A2108;
  --k-warm-soft:    #F8F0D9;
  --k-warm-ink:     #7D6118;
  --k-stage:        #33361F;
  --k-stage-2:      #414528;
  --k-stage-text:   #F4F4EA;
  --k-stage-muted:  #C3C5AA;
  --k-stage-line:   rgba(244, 244, 234, .18);
  --k-chip:         #FDFDF9;
  --k-chip-text:    #29291C;
  --k-chip-muted:   #64644E;
  --k-foot:         #2A2D19;
  --k-foot-text:    #F1F1E6;
  --k-foot-muted:   #B9BB9F;
  --k-foot-line:    rgba(241, 241, 230, .12);
}

/* Zeytin (gece) */
[data-palette="zeytin"][data-theme="dark"] {
  --k-bg:           #171812;
  --k-surface:      #1E1F17;
  --k-surface-2:    #26271D;
  --k-text:         #E3E3D6;
  --k-muted:        #A3A38E;
  --k-line:         #33352A;
  --k-accent:       #B9C77C;
  --k-accent-rgb:   185, 199, 124;
  --k-accent-hover: #C8D492;
  --k-on-accent:    #1C2008;
  --k-accent-soft:  #2D3220;
  --k-accent-ink:   #D0DC9C;
  --k-warm:         #E2C57E;
  --k-warm-rgb:     226, 197, 126;
  --k-warm-hover:   #EACF93;
  --k-on-warm:      #2A2108;
  --k-warm-soft:    #312B1A;
  --k-warm-ink:     #E8CF92;
  --k-stage:        #282B19;
  --k-stage-2:      #31351F;
  --k-stage-text:   #ECECE0;
  --k-stage-muted:  #B4B69C;
  --k-stage-line:   rgba(236, 236, 224, .14);
  --k-chip:         #2F3221;
  --k-chip-text:    #ECECE0;
  --k-chip-muted:   #B4B69C;
  --k-foot:         #11120D;
  --k-foot-text:    #E3E3D6;
  --k-foot-muted:   #9D9D88;
  --k-foot-line:    rgba(227, 227, 214, .10);
}

/* Kakao (gündüz) */
[data-palette="kakao"]:not([data-theme="dark"]) {
  --k-bg:           #F6F3F0;
  --k-surface:      #FDFCFB;
  --k-surface-2:    #EDE6DF;
  --k-text:         #2C221C;
  --k-muted:        #6B5D53;
  --k-line:         #E3DAD2;
  --k-accent:       #8A5636;
  --k-accent-rgb:   138, 86, 54;
  --k-accent-hover: #74482D;
  --k-on-accent:    #FFFFFF;
  --k-accent-soft:  #F1E5DB;
  --k-accent-ink:   #6B4129;
  --k-warm:         #E9C48F;
  --k-warm-rgb:     233, 196, 143;
  --k-warm-hover:   #EFD1A6;
  --k-on-warm:      #2B1D0C;
  --k-warm-soft:    #FAEFDF;
  --k-warm-ink:     #855A1F;
  --k-stage:        #3A2A21;
  --k-stage-2:      #4A372B;
  --k-stage-text:   #F7F1EC;
  --k-stage-muted:  #CDBBAE;
  --k-stage-line:   rgba(247, 241, 236, .18);
  --k-chip:         #FDFCFB;
  --k-chip-text:    #2C221C;
  --k-chip-muted:   #6B5D53;
  --k-foot:         #2F221B;
  --k-foot-text:    #F4EDE7;
  --k-foot-muted:   #C2AFA2;
  --k-foot-line:    rgba(244, 237, 231, .12);
}

/* Kakao (gece) */
[data-palette="kakao"][data-theme="dark"] {
  --k-bg:           #1A1613;
  --k-surface:      #221C18;
  --k-surface-2:    #2B241F;
  --k-text:         #E8DFD8;
  --k-muted:        #AB9C90;
  --k-line:         #392F28;
  --k-accent:       #DDA77F;
  --k-accent-rgb:   221, 167, 127;
  --k-accent-hover: #E7BA98;
  --k-on-accent:    #2A160A;
  --k-accent-soft:  #3A2A20;
  --k-accent-ink:   #EBC2A3;
  --k-warm:         #E2BF8E;
  --k-warm-rgb:     226, 191, 142;
  --k-warm-hover:   #EACBA3;
  --k-on-warm:      #2B1D0C;
  --k-warm-soft:    #33291D;
  --k-warm-ink:     #E9C99D;
  --k-stage:        #2E221B;
  --k-stage-2:      #3A2B22;
  --k-stage-text:   #EFE6DF;
  --k-stage-muted:  #BBAA9D;
  --k-stage-line:   rgba(239, 230, 223, .14);
  --k-chip:         #362A22;
  --k-chip-text:    #EFE6DF;
  --k-chip-muted:   #BBAA9D;
  --k-foot:         #14100D;
  --k-foot-text:    #E8DFD8;
  --k-foot-muted:   #A59689;
  --k-foot-line:    rgba(232, 223, 216, .10);
}


/* ── Eski değişken adları → yeni paletler (sayfa içi stiller de yeni renklere geçsin) ── */
:root {
  --primary: var(--k-accent); --primary-dark: var(--k-accent-hover); --primary-rgb: var(--k-accent-rgb);
  --accent: var(--k-warm); --accent-rgb: var(--k-warm-rgb);
  --paper: var(--k-surface); --ink: var(--k-text); --bg: var(--k-bg); --surface: var(--k-surface); --surface-2: var(--k-surface-2);
  --border: var(--k-line); --text: var(--k-text); --text-muted: var(--k-muted);
  --primary-light: var(--k-accent-soft); --primary-soft-text: var(--k-accent-ink); --accent-light: var(--k-warm-soft);
  --success: var(--k-ok); --danger: var(--k-bad); --warning: var(--k-warn); --info: var(--k-info);
  --success-soft: var(--k-ok-soft); --danger-soft: var(--k-bad-soft); --warning-soft: var(--k-warn-soft); --info-soft: var(--k-info-soft);
  --success-text: var(--k-ok-ink); --danger-text: var(--k-bad-ink); --warning-text: var(--k-warn-ink); --info-text: var(--k-info-ink);
  --success-rgb: 45, 122, 75; --danger-rgb: 168, 58, 51; --warning-rgb: 160, 104, 20; --info-rgb: 47, 100, 151;
  --grad: var(--k-accent); --grad-soft: var(--k-accent-soft);
  --radius-sm: 12px; --radius: 16px; --radius-lg: 22px; --radius-pill: 999px;
  --k-r-xl: 32px; --k-r-lg: 22px; --k-r-md: 16px; --k-r-sm: 12px;
  --shadow: var(--k-shadow-sm); --shadow-md: var(--k-shadow); --shadow-btn: none;
  --ring: 0 0 0 4px rgba(var(--k-accent-rgb), .18);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --topbar-h: 72px;
  --font: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; --k-font: var(--font);
  color-scheme: light;
}
[data-theme="dark"] { color-scheme: dark; --ring: 0 0 0 4px rgba(var(--k-accent-rgb), .26); }

/* ── Temel ───────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); background: var(--k-bg); color: var(--k-text); font-size: 15.5px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5 { color: var(--k-text); letter-spacing: -.015em; line-height: 1.25; text-wrap: balance; margin: 0; font-weight: 650; }
p { margin: 0; text-wrap: pretty; }
a { color: var(--k-accent-ink); }
img { max-width: 100%; }
::selection { background: rgba(var(--k-accent-rgb), .22); }
:focus-visible { outline: 2.5px solid var(--k-accent); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--k-muted) 45%, transparent) transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--k-muted) 40%, transparent); border-radius: 99px; border: 2px solid transparent; background-clip: padding-box; }
hr { border: 0; border-top: 1px solid var(--k-line); }
code { background: var(--k-surface-2); padding: 1px 6px; border-radius: 6px; font-size: .92em; }

/* İkonlar: Lucide (satır içi) — Font Awesome karşılıkları da <i class="kz-fa"> içinde */
.kz-ic { width: 1.25em; height: 1.25em; flex-shrink: 0; stroke-width: 1.75; }
.kz-fa { display: inline-grid; place-items: center; font-style: normal; line-height: 1; vertical-align: -.16em; }
.kz-fa .kz-ic { width: 1.12em; height: 1.12em; }
.kz-fa.fa-spin .kz-ic, .kz-fa.fa-spin { animation: kz-spin 1s linear infinite; }
@keyframes kz-spin { to { transform: rotate(360deg); } }

/* Gece / gündüz logosu (system/lib/Brand.php) */
html:not([data-theme="dark"]) .logo-dark, html[data-theme="dark"] .logo-light { display: none !important; }

/* ── Kartlar ─────────────────────────────────────────────────────────── */
.card { background: var(--k-surface); border: 1px solid var(--k-line); border-radius: var(--k-r-lg); overflow: hidden; }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--k-line); }
.card-header h3 { font-size: 1.05rem; font-weight: 650; display: flex; align-items: center; gap: 10px; }
.card-header h3 > i, .card-header h3 > .kz-fa { color: var(--k-accent); }
.card-body { padding: 22px; }
.card-footer { padding: 14px 22px; border-top: 1px solid var(--k-line); background: var(--k-surface-2); }
.p-0 { padding: 0 !important; }
.mb-4 { margin-bottom: 22px; } .mt-4 { margin-top: 22px; } .mt-2 { margin-top: 8px; }

/* ── Düğmeler ────────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 999px;
  font: 600 .95rem/1.2 var(--font); cursor: pointer; border: 1.5px solid transparent; text-decoration: none; white-space: nowrap;
  transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s; }
.btn:disabled, .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn-primary { background: var(--k-accent); color: var(--k-on-accent); }
.btn-primary:hover:not(:disabled) { background: var(--k-accent-hover); color: var(--k-on-accent); }
.btn-secondary, .btn-ghost, .btn-gray { background: var(--k-surface); border-color: var(--k-line); color: var(--k-text); }
.btn-secondary:hover:not(:disabled), .btn-ghost:hover:not(:disabled), .btn-gray:hover:not(:disabled) { border-color: color-mix(in srgb, var(--k-accent) 45%, var(--k-line)); color: var(--k-accent-ink); }
.btn-success { background: var(--k-ok-soft); color: var(--k-ok-ink); }
.btn-danger  { background: var(--k-bad-soft); color: var(--k-bad-ink); }
.btn-warning { background: var(--k-warn-soft); color: var(--k-warn-ink); }
.btn-info    { background: var(--k-info-soft); color: var(--k-info-ink); }
.btn-success:hover:not(:disabled), .btn-danger:hover:not(:disabled), .btn-warning:hover:not(:disabled), .btn-info:hover:not(:disabled) { border-color: currentColor; }
.btn-sm { min-height: 36px; padding: 0 14px; font-size: .86rem; }
.btn-xs { min-height: 30px; padding: 0 11px; font-size: .8rem; gap: 6px; }
.btn-lg { min-height: 52px; padding: 0 26px; font-size: 1rem; }
.btn-full, .btn-block, .w-full { width: 100%; }
.btn-link { background: none; border: 0; padding: 0; color: var(--k-accent-ink); font: 600 .9rem var(--font); cursor: pointer; text-decoration: none; }
.btn-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.action-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 22px; flex-wrap: wrap; }

/* ── Rozetler ────────────────────────────────────────────────────────── */
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: .76rem; font-weight: 650; line-height: 1.5;
  background: var(--k-surface-2); color: var(--k-muted); }
.badge-success { background: var(--k-ok-soft); color: var(--k-ok-ink); }
.badge-danger  { background: var(--k-bad-soft); color: var(--k-bad-ink); }
.badge-warning, .badge-pending { background: var(--k-warn-soft); color: var(--k-warn-ink); }
.badge-info    { background: var(--k-info-soft); color: var(--k-info-ink); }
.badge-primary { background: var(--k-accent-soft); color: var(--k-accent-ink); }
.badge-gray    { background: var(--k-surface-2); color: var(--k-muted); }
.tag { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--k-warm-soft); color: var(--k-warm-ink); font-size: .76rem; font-weight: 600; margin: 2px 3px 0 0; }

/* ── Uyarılar ────────────────────────────────────────────────────────── */
.alert { display: flex; align-items: flex-start; gap: 10px; padding: 13px 16px; border-radius: var(--k-r-md); font-size: .93rem; font-weight: 500; margin-bottom: 16px; line-height: 1.5;
  background: var(--k-surface-2); color: var(--k-text); }
.alert > i:first-child, .alert > .kz-fa:first-child { margin-top: 2px; flex-shrink: 0; }
.alert[hidden] { display: none !important; }
.alert-success { background: var(--k-ok-soft); color: var(--k-ok-ink); }
.alert-error, .alert-danger { background: var(--k-bad-soft); color: var(--k-bad-ink); }
.alert-warning { background: var(--k-warn-soft); color: var(--k-warn-ink); }
.alert-info { background: var(--k-info-soft); color: var(--k-info-ink); }
.alert-toast { box-shadow: var(--k-shadow); }
.alert-banner { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 18px; margin-bottom: 18px; border-radius: var(--k-r-md);
  background: var(--k-accent-soft); color: var(--k-accent-ink); }
.alert-banner .btn { margin-left: auto; flex-shrink: 0; }
.alert-banner-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--k-surface); color: var(--k-accent); font-size: 18px; flex-shrink: 0; }
.alert-banner-text { flex: 1; min-width: 200px; }
.alert-banner--warning { background: var(--k-warn-soft); color: var(--k-warn-ink); }
.alert-banner--warning .alert-banner-icon { color: var(--k-warn-ink); }
.alert-banner--info { background: var(--k-info-soft); color: var(--k-info-ink); }

/* ── Formlar ─────────────────────────────────────────────────────────── */
.form-group { margin-bottom: 18px; }
.form-group > label, label.form-label { display: flex; align-items: center; gap: 7px; font-size: .9rem; font-weight: 600; color: var(--k-text); margin-bottom: 7px; }
.form-group > label > i, .form-group > label > .kz-fa { color: var(--k-muted); }
.form-control { width: 100%; min-width: 0; max-width: 100%; min-height: 48px; padding: 11px 14px; border: 1.5px solid var(--k-line); border-radius: var(--k-r-sm);
  font: 400 .97rem/1.4 var(--font); color: var(--k-text); background: var(--k-surface); transition: border-color .2s, box-shadow .2s; }
.form-control::placeholder { color: color-mix(in srgb, var(--k-muted) 70%, transparent); }
.form-control:hover { border-color: color-mix(in srgb, var(--k-accent) 35%, var(--k-line)); }
.form-control:focus { outline: none; border-color: var(--k-accent); box-shadow: var(--ring); }
.form-control:disabled, .form-control[readonly] { background: var(--k-surface-2); color: var(--k-muted); }
select.form-control { appearance: none; -webkit-appearance: none; padding-right: 42px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23778883' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; }
textarea.form-control { resize: vertical; min-height: 96px; }
.form-control-sm { min-height: 38px; padding: 6px 11px; font-size: .88rem; width: auto; }
.form-control-code { letter-spacing: 6px; font-size: 22px; text-align: center; font-family: ui-monospace, monospace; }
input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { display: block; -webkit-appearance: none; appearance: none; text-align: left; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-row-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.field-hint { font-size: .8rem; color: var(--k-muted); margin-top: 6px; }
.form-row-between { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.form-actions { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--k-line); margin-top: 18px; }
.form-divider { border: 0; border-top: 1px dashed var(--k-line); margin: 22px 0; }
.form-section-title { font-size: .95rem; font-weight: 650; color: var(--k-accent-ink); margin-bottom: 14px; }
.required { color: var(--k-bad); }
.filter-form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.checkbox-label, .radio-label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: .93rem; font-weight: 500; }
.checkbox-group { display: flex; flex-direction: column; gap: 8px; }
.radio-group { display: flex; gap: 18px; flex-wrap: wrap; }
input[type="radio"] { accent-color: var(--k-accent); width: 18px; height: 18px; }
/* Onay kutuları her yerde (yönetim, danışan paneli, site, pencereler) açma / kapama düğmesi görünümünde.
   Öncelik sıfır (:where): kutuyu gizleyip kendi düğmesini çizen bileşenlerin (.switch-input, .st-toggle, .channel-option) kuralları geçerli kalır;
   boyut sayfa kurallarına karşı sabit (!important). */
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input)) { -webkit-appearance: none; appearance: none; flex: none !important; width: 34px !important; height: 19px !important; min-width: 34px;
  padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: color-mix(in srgb, var(--k-muted) 42%, var(--k-surface)); position: relative;
  cursor: pointer; vertical-align: middle; transition: background .15s; }
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input))::after { content: ''; position: absolute; top: 2px; left: 2px; width: 15px; height: 15px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform .15s; }
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input)):checked { background: var(--k-accent); }
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input)):checked::after { transform: translateX(15px); }
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input)):focus-visible { outline: 2px solid var(--k-accent); outline-offset: 2px; }
:where(input[type="checkbox"]:not(.switch-input, .st-toggle input, .channel-option input)):disabled { opacity: .5; cursor: not-allowed; }
.input-with-icon { position: relative; }
.input-with-icon input { padding-right: 48px; }
.input-icon-btn { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: 0; background: none;
  cursor: pointer; color: var(--k-muted); display: grid; place-items: center; }
.input-icon-btn:hover { background: var(--k-surface-2); color: var(--k-accent-ink); }

/* Aç / kapa */
.switch-row { display: flex !important; align-items: flex-start; gap: 12px; cursor: pointer; margin: 0 !important; padding: 14px 16px; border: 1px solid var(--k-line);
  border-radius: var(--k-r-md); background: var(--k-surface); height: 100%; transition: border-color .2s, background-color .2s; }
.switch-row:hover { border-color: color-mix(in srgb, var(--k-accent) 40%, var(--k-line)); }
.switch-input { position: absolute; opacity: 0; pointer-events: none; }
.switch { width: 44px; height: 26px; border-radius: 99px; background: color-mix(in srgb, var(--k-muted) 35%, var(--k-surface-2)); position: relative; flex-shrink: 0; transition: background-color .25s; margin-top: 1px; }
.switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); transition: transform .25s var(--ease); }
.switch-input:checked + .switch { background: var(--k-accent); }
.switch-input:checked + .switch::after { transform: translateX(18px); }
.switch-input:focus-visible + .switch { box-shadow: var(--ring); }
.switch-row:has(.switch-input:checked) { background: var(--k-accent-soft); border-color: color-mix(in srgb, var(--k-accent) 35%, var(--k-line)); }
.switch-text b { display: block; font-size: .95rem; font-weight: 600; }
.switch-text small { display: block; font-size: .8rem; color: var(--k-muted); line-height: 1.5; margin-top: 2px; }

/* ── Tablolar ────────────────────────────────────────────────────────── */
.table-responsive { overflow-x: auto; }
.table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .93rem; }
.table th { padding: 12px 18px; font-size: .8rem; font-weight: 600; color: var(--k-muted); text-align: left; white-space: nowrap; background: var(--k-surface-2); border-bottom: 1px solid var(--k-line); }
.table td { padding: 14px 18px; border-bottom: 1px solid var(--k-line); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: color-mix(in srgb, var(--k-surface-2) 55%, transparent); }
.table-sm th, .table-sm td { padding: 10px 14px; }
.row-muted td { opacity: .55; }

/* ── Pencereler ──────────────────────────────────────────────────────── */
.modal { display: none; position: fixed; inset: 0; z-index: 1000; align-items: center; justify-content: center; padding: 20px;
  background: color-mix(in srgb, var(--k-stage) 55%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.modal.open { display: flex; animation: kz-fade .2s var(--ease); }
.modal.open .modal-dialog { animation: kz-pop .28s var(--ease); }
.modal-dialog { width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; overscroll-behavior: contain; background: var(--k-surface); border-radius: 24px; box-shadow: var(--k-shadow-lg); }
.modal-lg .modal-dialog { max-width: 820px; } .modal-sm .modal-dialog { max-width: 420px; }
.modal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--k-line); position: sticky; top: 0; z-index: 1; background: var(--k-surface); }
.modal-header h3 { font-size: 1.1rem; font-weight: 650; }
.modal-close { width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--k-surface-2); color: var(--k-muted); cursor: pointer; display: grid; place-items: center; font-size: 20px; }
.modal-close:hover { color: var(--k-text); }
.modal-body { padding: 22px; }
/* Arama kutusu + yazdıkça öneriler (sayfa yenilenmez) */
.q-wrap { position:relative; flex:1 1 280px; min-width:0; }
.q-wrap > .kz-fa, .q-wrap > i { position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--text-muted); pointer-events:none; }
.q-wrap .form-control { padding-left:36px; width:100%; }
.q-wrap--sm { flex:0 1 280px; }   /* filtre çubuklarında kısa arama kutusu (her zaman ilk sırada) */
@media (max-width: 640px) { .filter-form .q-wrap { flex:1 1 100%; } }
.q-suggest { position:fixed; z-index:3000; display:grid; gap:2px; padding:6px; max-height:280px; overflow-y:auto; background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-md); }
.q-suggest[hidden] { display:none; }
.q-suggest button { display:block; width:100%; text-align:left; padding:8px 10px; border:0; border-radius:10px; background:none; color:var(--text); font:inherit; font-size:14px; font-weight:500; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.q-suggest button:hover, .q-suggest button.is-active { background:var(--surface-2); }
.q-suggest .q-suggest-empty { padding:8px 10px; color:var(--text-muted); font-size:13px; }
/* Tüm pencereler: başlık üstte, düğme satırı altta sabit; arada içerik kayar (pencere kendi içinde kaydırılır) */
.modal-body > .form-actions:last-child, .modal-body form > .form-actions:last-child { position: sticky; bottom: 0; z-index: 2; background: var(--k-surface); margin: 18px -22px -22px; padding: 16px 22px 22px; }
.modal-dialog .tfa-foot { position: sticky; bottom: 0; z-index: 2; background: var(--k-surface); }
/* Editör sağ alt köşedeki tutamaçla aşağı doğru büyütülür; başlangıç yüksekliğinin altına inmez (admin/views/partials/footer.php) */
.ql-container.ql-snow.ql-resizable { resize: vertical; overflow: hidden; border-bottom-right-radius: 6px !important; }
.ql-container.ql-resizable .ql-editor { height: 100%; min-height: 0 !important; max-height: none !important; overflow-y: auto; }
.modal-dialog .form-row > *, .modal-dialog .form-row-3 > *, .modal-dialog .form-group { min-width: 0; }
.modal-dialog img, .modal-dialog table { max-width: 100%; }
@keyframes kz-fade { from { opacity: 0; } }
@keyframes kz-pop { from { opacity: 0; transform: translateY(12px) scale(.98); } }

/* ── Listeler, avatarlar, tonlar ─────────────────────────────────────── */
.list-item { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--k-line); }
.list-item:last-child { border-bottom: 0; }
.list-item-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex-shrink: 0; background: var(--k-accent-soft); color: var(--k-accent); }
.list-item-avatar, .user-avatar, .chat-avatar, .user-avatar-sm, .panel-msg-avatar { border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; font-weight: 650;
  background: var(--k-accent-soft); color: var(--k-accent-ink); }
.list-item-avatar { width: 42px; height: 42px; } .user-avatar { width: 38px; height: 38px; }
/* Profil fotoğrafı (Helper::avatar): kutuyu doldurur, yuvarlak kırpılır */
.list-item-avatar, .user-avatar, .chat-avatar, .user-avatar-sm, .panel-msg-avatar { overflow: hidden; }
.list-item-avatar > img, .user-avatar > img, .chat-avatar > img, .user-avatar-sm > img, .panel-msg-avatar > img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.list-item-body { flex: 1; min-width: 0; }
.list-item-body strong { display: block; font-size: .95rem; font-weight: 600; }
.list-item-header { display: flex; justify-content: space-between; align-items: center; }
.user-cell { display: flex; align-items: center; gap: 11px; }
.tone-primary { background: var(--k-accent-soft) !important; color: var(--k-accent) !important; }
.tone-accent, .tone-peach { background: var(--k-warm-soft) !important; color: var(--k-warm-ink) !important; }
.tone-success { background: var(--k-ok-soft) !important; color: var(--k-ok-ink) !important; }
.tone-info, .tone-lilac { background: var(--k-info-soft) !important; color: var(--k-info-ink) !important; }
.tone-warning { background: var(--k-warn-soft) !important; color: var(--k-warn-ink) !important; }
.tone-danger { background: var(--k-bad-soft) !important; color: var(--k-bad-ink) !important; }

/* ── Sayfalama ───────────────────────────────────────────────────────── */
.pagination { display: flex; gap: 6px; align-items: center; justify-content: center; flex-wrap: wrap; }
.page-btn { min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--k-line); background: var(--k-surface); color: var(--k-text);
  text-decoration: none; font-weight: 600; font-size: .9rem; display: inline-grid; place-items: center; }
.page-btn:hover { border-color: color-mix(in srgb, var(--k-accent) 45%, var(--k-line)); }
.page-btn.active { background: var(--k-accent); border-color: var(--k-accent); color: var(--k-on-accent); }
.page-info { font-size: .8rem; color: var(--k-muted); margin-left: 8px; }
button.page-btn { font-family: inherit; cursor: pointer; }
/* Yenilemesiz sayfalama (assets/js/kz-pager.js) */
.is-paging { opacity: .55; pointer-events: none; transition: opacity .15s; }
[data-paginate] > [hidden], [data-paginate] tr[hidden] { display: none !important; }
.kz-pager { margin-top: 16px; }
.kz-pager[hidden] { display: none; }
.card .kz-pager { margin: 0; padding: 12px 16px; border-top: 1px solid var(--k-line); }
.card-footer:has(> .kz-pager) { padding: 0; background: none; border-top: 0; }   /* sunucu sayfalaması da istemci sayfalamasıyla aynı şerit */

/* ── Boş durum ───────────────────────────────────────────────────────── */
.empty-state { text-align: center; padding: 52px 24px; }
.empty-state .empty-icon, .empty-icon { width: 76px; height: 76px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center; font-size: 30px;
  background: var(--k-accent-soft); color: var(--k-accent); }
.empty-icon .kz-ic { width: 32px; height: 32px; }
.empty-state h3 { font-size: 1.1rem; font-weight: 650; margin-bottom: 6px; }
.empty-state p { color: var(--k-muted); margin-bottom: 18px; }
.empty-text { color: var(--k-muted); font-size: .9rem; text-align: center; padding: 18px; }

/* ── Gece / gündüz düğmesi ───────────────────────────────────────────── */
.theme-toggle { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--k-line); background: var(--k-surface); color: var(--k-text); cursor: pointer;
  display: grid; place-items: center; padding: 0; transition: border-color .2s, color .2s; }
.theme-toggle:hover { border-color: color-mix(in srgb, var(--k-accent) 45%, var(--k-line)); color: var(--k-accent-ink); }
.theme-toggle .kz-ic { width: 19px; height: 19px; }
.kz-i-sun, .theme-fab .dp-sun { display: none; }
[data-theme="dark"] .kz-i-sun { display: block; } [data-theme="dark"] .kz-i-moon { display: none; }
.theme-fab { position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--k-line); background: var(--k-surface);
  color: var(--k-text); cursor: pointer; display: grid; place-items: center; box-shadow: var(--k-shadow); }
[data-theme="dark"] .theme-fab .dp-moon { display: none; } [data-theme="dark"] .theme-fab .dp-sun { display: inline; }
.theme-fab.theme-fab-top { top: 18px; bottom: auto; }

/* ── Metin editörü (Quill) ───────────────────────────────────────────── */
.ql-toolbar.ql-snow { border: 1.5px solid var(--k-line) !important; border-bottom: 0 !important; border-radius: 14px 14px 0 0 !important; background: var(--k-surface-2) !important; }
.ql-container.ql-snow { border: 1.5px solid var(--k-line) !important; border-radius: 0 0 14px 14px !important; background: var(--k-surface) !important; font-family: var(--font) !important; font-size: 15px !important; }
.ql-editor { color: var(--k-text) !important; }
.ql-editor.ql-blank::before { color: var(--k-muted) !important; font-style: normal !important; }
.ql-snow .ql-stroke { stroke: var(--k-muted) !important; } .ql-snow .ql-fill { fill: var(--k-muted) !important; }

/* ── Bildirimler (showAlert) ─────────────────────────────────────────── */
.toast-stack { position: fixed; top: 16px; left: 50%; transform: translateX(-50%); z-index: 100001; display: flex; flex-direction: column; align-items: center; gap: 10px;
  width: max-content; max-width: calc(100% - 32px); pointer-events: none; }
.app-toast { pointer-events: auto; position: relative; display: flex; align-items: center; gap: 12px; min-width: 300px; max-width: 560px; padding: 14px 48px 14px 16px;
  border-radius: var(--k-r-md); font-size: .95rem; font-weight: 500; line-height: 1.45; box-shadow: var(--k-shadow-lg); background: var(--k-surface); color: var(--k-text);
  animation: kz-toast .25s ease; transition: opacity .3s, transform .3s; }
.app-toast.is-leaving { opacity: 0; transform: translateY(-8px); }
.app-toast-icon { font-size: 19px; flex: 0 0 auto; }
.app-toast-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.app-toast-x { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: .6; font-size: 19px; cursor: pointer; }
.app-toast-x:hover { opacity: 1; }
.app-toast--success { background: var(--k-ok-soft); color: var(--k-ok-ink); }
.app-toast--error { background: var(--k-bad-soft); color: var(--k-bad-ink); }
.app-toast--warning { background: var(--k-warn-soft); color: var(--k-warn-ink); }
.app-toast--info { background: var(--k-info-soft); color: var(--k-info-ink); }
@keyframes kz-toast { from { opacity: 0; transform: translateY(-12px); } }

/* ── Yardımcılar ─────────────────────────────────────────────────────── */
.text-muted { color: var(--k-muted) !important; }
.text-xs { font-size: .78rem; } .text-sm { font-size: .88rem; }
.text-center { text-align: center; }
.text-danger { color: var(--k-bad-ink); }
.fw-600 { font-weight: 600; }
.py-8 { padding: 32px; }
.diff { font-size: .72rem; padding: 2px 8px; border-radius: 99px; margin-left: 4px; font-weight: 600; }
.diff-down { background: var(--k-ok-soft); color: var(--k-ok-ink); }
.diff-up { background: var(--k-bad-soft); color: var(--k-bad-ink); }
.no-print { }
@media print { .no-print { display: none !important; } }

@media (max-width: 768px) {
  .form-row, .form-row-3 { grid-template-columns: minmax(0, 1fr); }
  .modal { padding: max(24px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom)); }
  .modal-dialog { max-height: calc(100dvh - 48px); border-radius: 20px; overflow-x: hidden; }
  .modal-header { padding: 16px 18px; } .modal-body { padding: 18px; }
  .modal-body > .form-actions:last-child, .modal-body form > .form-actions:last-child { margin: 18px -18px -18px; padding: 14px 18px 18px; }
}
@media (max-width: 600px) {
  .toast-stack { top: 10px; width: calc(100% - 20px); max-width: none; }
  .app-toast { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Ekran okuyucu metni; ruh hâli ikonu (system/lib/Icon.php → Icon::mood) */
.kz-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.kz-mood { display: inline-grid; place-items: center; line-height: 1; }
.kz-mood .kz-ic { width: 1em; height: 1em; }

/* Demo uyarısı (system/lib/DemoLock.php, yalnızca demo): paletin koyu sahne renginde, gece / gündüz aynı */
html[data-palette] .demo-note { background: var(--k-stage); color: var(--k-stage-text); border-color: var(--k-stage-line); box-shadow: var(--k-shadow-lg); font-family: var(--font); }
html[data-palette] .demo-note-ico { background: var(--k-warm); color: var(--k-on-warm); }
html[data-palette] .demo-note b { background: var(--k-warm); color: var(--k-on-warm); }
html[data-palette] .demo-note p { color: var(--k-stage-muted); }
html[data-palette] .demo-note p strong { color: var(--k-stage-text); }
html[data-palette] .demo-note-x { color: var(--k-stage-muted); }
html[data-palette] .demo-note-x:hover { background: rgba(255, 255, 255, .1); color: var(--k-stage-text); }
/* Kaydırılabilir tablo: içindeki mutlak konumlu öğeler (ör. .kz-sr) sayfayı genişletmesin */
.table-responsive { position: relative; }
.kz-sr { top: 0; left: 0; }
/* Açılır listeler (assets/js/kz-select.js): <select> yerinde kalır, açılan liste temaya uyan paneldir */
select.kzs-open { border-color: var(--k-accent); box-shadow: var(--ring); }
.kzs-panel { position: fixed; z-index: 10000; display: flex; flex-direction: column; padding: 8px; border: 1px solid var(--k-line); border-radius: 14px;
  background: var(--k-surface); color: var(--k-text); box-shadow: var(--k-shadow-lg); animation: kz-fade .14s var(--ease, ease); }
.kzs-panel[hidden] { display: none; }
.kzs-panel .kzs-q { min-height: 40px; margin-bottom: 6px; padding: 8px 12px 8px 36px; font-size: .92rem; border-radius: 10px;
  background: var(--k-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23778883' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center; border-color: transparent; }
.kzs-panel .kzs-q:focus { background-color: var(--k-surface); border-color: var(--k-accent); }
.kzs-panel .kzs-q[hidden] { display: none; }
.kzs-list { display: grid; gap: 2px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.kzs-opt { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 9px 12px; border: 0; border-radius: 9px;
  background: none; color: var(--k-text); font: 500 .93rem/1.35 var(--font); text-align: left; cursor: pointer; }
.kzs-opt > span { min-width: 0; overflow-wrap: anywhere; }
.kzs-opt:hover, .kzs-opt:focus-visible { background: var(--k-surface-2); outline: 0; }
.kzs-opt.is-empty { color: var(--k-muted); }
.kzs-opt.is-empty[aria-selected="true"] { background: none; color: var(--k-muted); font-weight: 500; }
.kzs-opt.is-empty[aria-selected="true"]::after { display: none; }
.kzs-opt > b { flex: none; margin-left: auto; font-size: .85rem; font-weight: 600; color: var(--k-muted); }
.kzs-opt[aria-selected="true"] > b { color: inherit; }
.kzs-opt[aria-selected="true"] { background: var(--k-accent-soft); color: var(--k-accent-ink); font-weight: 600; }
.kzs-opt[aria-selected="true"]::after { content: ""; flex: none; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.kzs-opt:disabled { opacity: .45; cursor: not-allowed; background: none; }
/* Aramalı çoklu seçim (assets/js/kz-msel.js): kapalıyken seçim kutusu, açılınca kz-select paneli */
.kzm { position: relative; min-width: 0; }
.kzm-trigger { display: flex; align-items: center; width: 100%; text-align: left; cursor: pointer; padding-right: 41.6px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23778883' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.kzm.is-open .kzm-trigger { border-color: var(--k-accent); box-shadow: var(--ring); }
.kzm.has-value .kzm-trigger { background-color: color-mix(in srgb, var(--k-accent) 6%, var(--k-surface)); }
.kzm-value { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }   /* +N adların hemen yanında */
.kzm-value.is-empty { color: var(--k-muted); }
.kzm-more { flex: none; margin-left: 5px; white-space: nowrap; }   /* sığmayan seçimler: +N */
.kzm-foot { display: flex; justify-content: space-between; gap: 6px; margin-top: 6px; padding: 8px 4px 2px; border-top: 1px solid var(--k-line); }
.kzm-foot button { border: 0; background: none; padding: 4px 6px; border-radius: 8px; color: var(--k-accent-ink); font: 650 .86rem/1.3 inherit; font-family: inherit; cursor: pointer; }
.kzm-foot button:hover { background: var(--k-surface-2); }
.kzs-opt[hidden], .kzs-group[hidden] { display: none; }
.kzs-group { position: sticky; top: 0; z-index: 1; margin: 6px 0 2px; padding: 6px 10px; border-radius: 8px; background: var(--k-accent-soft); color: var(--k-accent-ink);
  font-size: .74rem; font-weight: 700; letter-spacing: .01em; }
.kzs-group:first-child { margin-top: 0; }
.kzs-empty { margin: 0; padding: 10px 12px; color: var(--k-muted); font-size: .88rem; }
.kzs-empty[hidden] { display: none; }
/* Telefon alanı: ülke kodu (aramalı liste) + numara bitişik */
.ph-input { display: flex; align-items: stretch; border: 1.5px solid var(--k-line); border-radius: var(--k-r-sm); background: var(--k-surface); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.ph-input:hover { border-color: color-mix(in srgb, var(--k-accent) 35%, var(--k-line)); }
.ph-input:focus-within { border-color: var(--k-accent); box-shadow: var(--ring); }
.ph-input .form-control { flex: 1; min-width: 0; border: 0; box-shadow: none; border-radius: 0; background: transparent; padding-left: 12px; }
.ph-cc { flex: none; padding: 0 26px 0 11px; border: 0; border-right: 1.5px solid var(--k-line); border-radius: 0; background: var(--k-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23778883' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;
  -webkit-appearance: none; appearance: none; color: var(--k-text); font: 600 .9rem/1 var(--font); cursor: pointer; outline: 0; }
.ph-cc.kzs-open { box-shadow: none; color: var(--k-accent-ink); }
/* Segment sekme (Bireysel / Kurumsal) */
.seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--k-surface-2); }
.seg button { padding: 8px 18px; border: 0; border-radius: 999px; background: none; color: var(--k-muted); font: 600 .9rem/1.2 var(--font); cursor: pointer; }
.seg button:hover { color: var(--k-text); }
.seg button[aria-selected="true"] { background: var(--k-surface); color: var(--k-text); box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 4px 12px -6px rgba(0, 0, 0, .2); }
.seg button:focus-visible { outline: 2px solid var(--k-accent); outline-offset: 1px; }
/* Fatura profili formu (system/lib/Billing.php) */
.bf { display: grid; gap: 4px; }
.bf-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.bf-default .kz-ic { width: 15px; height: 15px; }
.bf-default[aria-pressed="true"] { background: var(--k-accent-soft); color: var(--k-accent-ink); border-color: color-mix(in srgb, var(--k-accent) 35%, transparent); }
.bf-default[aria-pressed="true"] .kz-ic { fill: currentColor; }
.bf-row { display: grid; gap: 0 14px; }
.bf-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bf-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bf-corp[hidden] { display: none; }
.bf-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .03em; }
@media (max-width: 640px) { .bf-row-2, .bf-row-3 { grid-template-columns: minmax(0, 1fr); } }
.bf-list .bf-sub { display: block; font-size: .8rem; color: var(--k-muted); font-weight: 500; }
.bf-chip { display: inline-flex; padding: 3px 10px; border-radius: 999px; background: var(--k-surface-2); color: var(--k-text); font-size: .78rem; font-weight: 600; white-space: nowrap; }
.bf-mono-chip { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.bf-actions { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
/* Kilitli profil bilgileri (Profilim) */
/* Kilitli bilgi tablosu (AjansPro Hesabım → Profil bilgileri): kartın içinde iki sütunlu hücreler */
.ci-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ci-cell { display: grid; gap: 4px; min-width: 0; padding: 12px 22px; border-bottom: 1px solid var(--k-line); }
.ci-cell:nth-child(odd) { border-right: 1px solid var(--k-line); }
.ci-cell:nth-last-child(-n+2) { border-bottom: 0; }
.ci-cell > span { font-size: .78rem; color: var(--k-muted); }
.ci-cell > b { font-weight: 500; font-size: .95rem; overflow-wrap: anywhere; }
@media (max-width: 768px) { .ci-grid { grid-template-columns: minmax(0, 1fr); } .ci-cell:nth-child(odd) { border-right: 0; } .ci-cell:nth-last-child(2) { border-bottom: 1px solid var(--k-line); } }
.lock-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: var(--k-surface-2); color: var(--k-muted); font-size: .76rem; font-weight: 600; }
.lock-badge .kz-ic { width: 13px; height: 13px; }
.btn-danger-soft { background: var(--k-bad-soft); color: var(--k-bad-ink); border-color: transparent; }
.btn-danger-soft:hover { background: color-mix(in srgb, var(--k-bad) 18%, var(--k-bad-soft)); color: var(--k-bad-ink); }
/* Profilim → Güvenlik: parola ve iki adımlı doğrulama yan yana, altta oturumlar */
.sec-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 16px; align-items: stretch; margin-bottom: 16px; }   /* AjansPro: parola geniş, 2FA dar */
.sec-grid > .card { margin: 0; }
@media (max-width: 1100px) { .sec-grid { grid-template-columns: minmax(0, 1fr); } }
.pw-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pw-row > .form-group { margin-bottom: 16px; }
@media (max-width: 720px) { .pw-row { grid-template-columns: minmax(0, 1fr); gap: 0; } }
.sec-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.u2fa-qr { width: 180px; height: 180px; margin: 10px 0; padding: 8px; box-sizing: content-box; background: #fff; border-radius: 10px; }
/* 2FA: elle giriş anahtarı QR'ın tam altında, ortalı (4'erli gruplar) */
.tfa-qr-group { display: inline-flex; flex-direction: column; align-items: center; max-width: 100%; margin-bottom: 14px; }
.tfa-qr-group > .u2fa-qr { margin-bottom: 10px; }
.tfa-secret { margin: 0 0 14px; text-align: center; max-width: 100%; }
.tfa-qr-group > .tfa-secret { margin: 0; }
.tfa-secret code { display: inline-block; font-size: 15px; line-height: 1.5; letter-spacing: .04em; padding: 4px 12px; border-radius: 9px; overflow-wrap: anywhere; user-select: all; }

.kzs-action { display: flex; align-items: center; gap: 8px; margin-top: 6px; padding: 10px 12px 4px; border-top: 1px solid var(--k-line); color: var(--k-accent-ink); font-weight: 650; font-size: .9rem; text-decoration: none; }
.kzs-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.kzs-action[hidden] { display: none; }
.bpick-empty { margin: 0 0 16px; }

/* SSS bloğu (SSS → Kategoriler → Gösterildiği yerler): tanıtım ve danışan paneli sayfaları */
.faq-block { margin: clamp(28px, 4vw, 48px) 0 0; }
.faq-block-head h2 { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.55rem); font-weight: 650; letter-spacing: -.015em; color: var(--k-text); }
.faq-block-head p { margin: 6px 0 0; color: var(--k-muted); }
.faq-block-list { display: grid; gap: 10px; margin-top: 18px; }
.faq-block .faq-block-list details { margin: 0; padding: 0; border-radius: var(--k-r-md); background: var(--k-surface); border: 1px solid var(--k-line); overflow: hidden; transition: box-shadow .2s; }
.faq-block .faq-block-list details[open] { box-shadow: var(--k-shadow); border-color: transparent; }
.faq-block .faq-block-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 16px 20px; cursor: pointer; list-style: none; font-weight: 600; color: var(--k-text); }
.faq-block .faq-block-list summary::-webkit-details-marker { display: none; }
.faq-block .faq-block-list summary::before { content: none; }
.faq-block .faq-block-list summary::after { content: ''; flex-shrink: 0; width: 20px; height: 20px; background: var(--k-muted); transition: transform .25s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.faq-block .faq-block-list details[open] summary::after { transform: rotate(180deg); background: var(--k-accent); }
.faq-block-a { padding: 0 20px 18px; color: var(--k-muted); line-height: 1.7; }
.faq-block-a > :first-child { margin-top: 0; } .faq-block-a > :last-child { margin-bottom: 0; }
.faq-block-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--k-accent-ink); font-weight: 600; text-decoration: none; }
.faq-block-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.faq-block-more svg { width: 16px; height: 16px; }

/* Madde listesi (sağlık formu "Evet / Hayır + liste", danışan kartı alerji / tüketmedikleri / sağlık durumu): her satır bir kutu + sil */
.hl-body { margin-top: 12px; }
.hl-body[hidden] { display: none; }
.hl-follow { margin: 0 0 8px; font-size: .92rem; font-weight: 600; color: var(--k-text); }
.hl-rows { display: grid; gap: 8px; overflow-y: auto; padding: 3px; margin: -3px; }   /* iç boşluk: odak halkası kesilmesin */
.hl-row { display: flex; align-items: center; gap: 8px; }
.hl-row .form-control { flex: 1; min-width: 0; }
.hl-del { flex: none; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  color: var(--k-bad); background: color-mix(in srgb, var(--k-bad) 9%, var(--k-surface)); transition: background .15s, color .15s; }
.hl-del svg { width: 16px; height: 16px; }
.hl-del:hover { color: #fff; background: var(--k-bad); }
.hl-more { display: flex; width: fit-content; margin: 10px auto 0; }
.hl-more:disabled { opacity: .5; cursor: not-allowed; }
.hl-locked .hl-rows .form-control:disabled { background: var(--k-surface-2); color: var(--k-text); opacity: 1; }
.hl--allergy .hl-row .form-control { border-left: 3px solid var(--k-bad); }
.hl--avoid .hl-row .form-control { border-left: 3px solid var(--k-warn); }
.hl--condition .hl-row .form-control { border-left: 3px solid var(--k-info); }
.hl-sug { position: fixed; z-index: 3000; display: grid; gap: 2px; padding: 6px; max-height: 240px; overflow-y: auto; background: var(--k-surface);
  border: 1px solid var(--k-line); border-radius: 12px; box-shadow: var(--k-shadow); }
.hl-sug[hidden] { display: none; }
.hl-sug button { padding: 8px 10px; border: 0; border-radius: 8px; background: none; color: var(--k-text); font: inherit; text-align: left; cursor: pointer; }
.hl-sug button:hover, .hl-sug button.is-active { background: var(--k-surface-2); }

/* Sağlık formu cevapları özeti (system/lib/HealthSummary.php): admin → danışan detayı ve danışan paneli → tamamlanmış form */
.hs-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 18px; font-size: 14px; }
.hs-progress { width: 160px; height: 8px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.hs-progress span { display: block; height: 100%; width: var(--p); background: var(--primary); border-radius: inherit; }
.hs-muted { color: var(--text-muted); }
.hs-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.hs-group { border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: var(--surface); }
.hs-group header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.hs-group h4 { margin: 0; font-size: 14.5px; font-weight: 650; flex: 1; }
.hs-group header small { color: var(--text-muted); font-weight: 600; }
.hs-ico { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--k-accent-soft); color: var(--k-accent-ink); flex-shrink: 0; }
.hs-ico svg { width: 16px; height: 16px; }
.hs-group dl { margin: 0; }
.hs-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; padding: 11px 16px; border-top: 1px solid var(--border); }
.hs-row:first-child { border-top: 0; }
.hs-row dt { font-size: 13px; color: var(--text-muted); font-weight: 500; }
.hs-row dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.hs-row.is-empty dd { color: var(--text-muted); font-weight: 400; font-style: italic; }
.hs-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hs-chip { padding: 3px 10px; border-radius: 99px; background: var(--k-accent-soft); color: var(--k-accent-ink); font-size: 12.5px; font-weight: 600; }
.hs-note { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; color: var(--text-muted); font-size: 13.5px; }
@media (max-width: 760px) { .hs-groups { grid-template-columns: minmax(0, 1fr); } .hs-row { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
