/* ============================================================
   JettDev Design System — v40 (aurora glass / premium SaaS)
   İmza: indigo→viyola gradyan, cam yüzeyler, aurora ambiyans,
   8px radius, rafine yoğunluk. (below keeps backward compat; latest layer wins on top)
   derinlikli gölgeler, mikro-etkileşimler.
   Katmanlar: token'lar → temel → bileşenler → kabuklar → temasal
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;600&display=swap');

/* ---------- 1. Token'lar ---------- */
:root{
  /* renk — aydınlık */
  --bg:#f3f5fc; --surface:#ffffff; --surface-2:#f8fafd; --soft:#eef2fb;
  --ink:#0a1122; --ink-2:#333e58; --txt:#222b40; --muted:#5d6a87; --faint:#8b97b3;
  --line:#e5e9f6; --line-2:#d8def0;
  --accent:#4c6dff; --accent-ink:#3f56e8; --accent-soft:#e9edff;
  --grad:linear-gradient(135deg,#4c6dff 0%,#7c5cfc 55%,#9d5cf6 100%);
  --grad-soft:linear-gradient(135deg,rgba(76,109,255,.12),rgba(157,92,246,.12));
  --ok:#12b76a; --ok-soft:#e5f7ee; --warn:#f59e0b; --warn-soft:#fdf2df;
  --err:#ef4444; --err-soft:#fdecec; --info:#0ea5e9; --info-soft:#e3f4fd;
  --side:rgba(255,255,255,.78); --side-ink:#333e58; --side-muted:#75819e; --side-on:#0a1122; --side-line:#e8ecf7;
  --glass-blur:blur(18px) saturate(1.5);
  --shadow-1:0 1px 2px rgba(16,24,40,.05),0 0 0 1px rgba(16,24,40,.02);
  --shadow-2:0 2px 4px rgba(16,24,40,.05),0 12px 32px -12px rgba(16,24,40,.14);
  --shadow-3:0 24px 70px -20px rgba(16,24,40,.28);
  --glow:0 8px 24px -8px rgba(76,109,255,.55);
  /* tipografi */
  --font:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-xs:.7rem; --fs-sm:.78rem; --fs-md:.88rem; --fs-lg:1rem; --fs-xl:1.35rem; --fs-2xl:1.7rem;
  /* boşluk + köşe */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:28px; --s7:40px;
  --r-sm:9px; --r-md:12px; --r-lg:16px; --r-xl:20px;
  /* hareket */
  --dur-1:150ms; --dur-2:200ms; --dur-3:250ms;
  --ease:cubic-bezier(.2,.7,.3,1);
  --topnav-h:60px;
  /* eski token köprüleri (inline stil / js uyumu) */
  --blue:var(--accent); --blue2:#7c5cfc; --blue-soft:var(--accent-soft);
  --card:var(--surface); --danger:var(--err); --warn-bg:var(--warn-soft); --warn-t:var(--warn);
  --radius:var(--r-lg); --shadow:var(--shadow-1);
}
[data-theme="dark"]{
  --bg:#070b16; --surface:#0e1424; --surface-2:#111a2e; --soft:#182238;
  --ink:#eef1fa; --ink-2:#c6cfe2; --txt:#dbe2f0; --muted:#8b97b2; --faint:#616e8d;
  --line:#1c2740; --line-2:#26334f;
  --accent:#6d85ff; --accent-ink:#8ba0ff; --accent-soft:#18224a;
  --ok:#34d399; --ok-soft:#0f2a1e; --warn:#fbbf24; --warn-soft:#2c2210;
  --err:#f87171; --err-soft:#321a1a; --info:#38bdf8; --info-soft:#0e2536;
  --side:rgba(10,15,30,.72); --side-ink:#c9d2e6; --side-muted:#7d89a6; --side-line:#1d2846;
  --shadow-1:0 1px 2px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03);
  --shadow-2:0 2px 6px rgba(0,0,0,.45),0 16px 40px -16px rgba(0,0,0,.6);
  --shadow-3:0 30px 80px -24px rgba(0,0,0,.75);
  --glow:0 8px 28px -8px rgba(109,133,255,.5);
}

/* ---------- 2. Temel ---------- */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--txt);
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh}
/* aurora ambiyans — panelin imzası */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1000px 520px at 88% -12%, rgba(124,92,252,.13), transparent 62%),
    radial-gradient(820px 480px at -8% 8%, rgba(76,109,255,.10), transparent 60%),
    radial-gradient(700px 520px at 50% 118%, rgba(14,165,233,.07), transparent 62%)}
[data-theme="dark"] body::before{background:
    radial-gradient(1000px 560px at 88% -14%, rgba(124,92,252,.20), transparent 64%),
    radial-gradient(860px 520px at -10% 6%, rgba(76,109,255,.16), transparent 62%),
    radial-gradient(720px 560px at 50% 120%, rgba(14,165,233,.10), transparent 64%),
    radial-gradient(500px 300px at 108% 78%, rgba(157,92,246,.08), transparent 60%)}
ul,ol{padding:0}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-1)}
a:hover{color:var(--accent-ink)}
h1,h2,h3,h4{color:var(--ink);line-height:1.25;margin:0 0 6px;font-weight:800;letter-spacing:-.022em}
h2{font-size:1.02rem}h3{font-size:.95rem}
p{margin:0 0 8px}
code{font-family:var(--mono);font-size:.84em;background:var(--soft);border:1px solid var(--line);
  border-radius:6px;padding:1px 6px;color:var(--ink-2)}
pre>code,.codebox code{background:none;border:none;padding:0}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-sm)}
.center{text-align:center}
.grow{flex:1}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.col{display:flex;flex-direction:column;gap:10px}
.mt{margin-top:12px}.mt2{margin-top:18px}
.steps{margin:0;padding-left:20px;display:grid;gap:8px}
.steps li::marker{color:var(--accent);font-weight:700}
.wrap{max-width:860px;margin:0 auto}
.wrap.wide{max-width:1080px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
::selection{background:rgba(124,92,252,.25);color:var(--ink)}
*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- 3. Butonlar ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;user-select:none;
  font-weight:700;font-size:var(--fs-md);padding:9px 17px;border-radius:11px;border:1px solid transparent;
  font-family:inherit;line-height:1.2;white-space:nowrap;text-decoration:none;letter-spacing:.005em;
  transition:transform var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),background var(--dur-1),border-color var(--dur-1),color var(--dur-1),opacity var(--dur-1),filter var(--dur-1)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn.solid{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.btn.solid:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(109,92,252,.6);filter:brightness(1.06)}
.btn.ghost{background:var(--surface);color:var(--ink-2);border-color:var(--line-2);box-shadow:var(--shadow-1)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-2)}
.btn.danger{background:var(--err-soft);color:var(--err);border-color:transparent}
.btn.danger:hover{background:var(--err);color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px -8px rgba(239,68,68,.5)}
.btn.sm{font-size:var(--fs-sm);padding:7px 13px;border-radius:10px}
.btn.xs{font-size:var(--fs-xs);padding:4px 10px;border-radius:8px;gap:5px}
.btn.icon{padding:8px 10px}
.btn.wide{width:100%}
.btn[disabled]{opacity:.55;pointer-events:none}
.btn-grad{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.btn-grad:hover{filter:brightness(1.06);transform:translateY(-1px)}

/* ---------- 4. Chip / pill / nokta ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);
  color:var(--ink-2);border-radius:999px;padding:3px 11px;font-size:var(--fs-sm);font-weight:600;max-width:220px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2.5px 10px;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}
.pill.green{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 22%,transparent)}
.pill.red{background:var(--err-soft);color:var(--err);border-color:color-mix(in srgb,var(--err) 22%,transparent)}
.pill.blue{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}
.pill.gray{background:var(--soft);color:var(--muted);border-color:var(--line)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--faint);flex:none}
.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.dot.err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.svc{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:var(--fs-md)}
.svc:last-child{border-bottom:none}
.svc-dot{width:9px;height:9px;border-radius:50%;background:var(--faint);flex:none}
.svc-dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.svc-dot.err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.tdot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.tdot.r{background:var(--err)}

/* ---------- 5. Form elemanları ---------- */
label{display:block;font-size:var(--fs-sm);font-weight:650;color:var(--ink-2);margin:10px 0 4px}
.in,select.in,textarea.in{width:100%;background:var(--surface);border:1px solid var(--line-2);color:var(--txt);
  border-radius:11px;padding:9px 12px;font-size:var(--fs-md);font-family:inherit;outline:none;
  box-shadow:var(--shadow-1);
  transition:border-color var(--dur-1),box-shadow var(--dur-1),background var(--dur-1)}
.in::placeholder{color:var(--faint)}
.in:hover{border-color:var(--accent)}
.in:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:var(--surface)}
.in.sm{padding:7px 11px;font-size:var(--fs-sm);border-radius:10px}
.in.xs{padding:4px 8px;font-size:var(--fs-xs);border-radius:8px;width:auto}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
textarea.in{resize:vertical}
.in-prefix{display:flex;align-items:stretch}
.in-prefix>span{display:grid;place-items:center;background:var(--soft);border:1px solid var(--line-2);border-right:none;
  border-radius:11px 0 0 11px;padding:0 12px;font-size:var(--fs-sm);font-weight:700;color:var(--muted);white-space:nowrap}
.in-prefix>.in{border-radius:0 11px 11px 0}
.codebox{width:100%;min-height:120px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);
  color:var(--txt);font-family:var(--mono);font-size:.82rem;line-height:1.6;padding:12px 14px;outline:none;
  resize:vertical;transition:border-color var(--dur-1)}
.codebox:focus{border-color:var(--accent)}
.codebox.tall{min-height:320px}
.inline-form{display:inline}

/* ---------- 6. Kart / sayfa başlığı / breadcrumb ---------- */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;
  box-shadow:var(--shadow-1);transition:box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}
[data-theme="dark"] .card{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 42%),var(--surface)}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--r-lg) var(--r-lg) 0 0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(124,92,252,.28),rgba(76,109,255,.28),transparent);opacity:.6}
.card:hover{box-shadow:var(--shadow-2)}
.card h2,.card h3{display:flex;align-items:center;gap:8px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.page-head h1{font-size:var(--fs-2xl);margin:0;letter-spacing:-.025em}
.page-head .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px;font-weight:600;letter-spacing:.01em}
.crumbs a{color:var(--muted);padding:2px 5px;border-radius:6px;transition:background var(--dur-1),color var(--dur-1)}
.crumbs a:hover{background:var(--soft);color:var(--accent)}
.crumbs .sep{color:var(--faint);user-select:none}
.crumbs .cur{color:var(--ink);font-weight:700}
.burger{display:none;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);
  width:36px;height:36px;place-items:center;color:var(--ink-2);cursor:pointer;
  transition:border-color var(--dur-1),color var(--dur-1)}
.burger:hover{border-color:var(--accent);color:var(--accent)}
.kv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-md)}
.kv:last-child{border-bottom:none}
.kv>span:first-child{color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid2.wide2{grid-template-columns:1.2fr .8fr}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

/* ---------- 7. KPI ---------- */
.kpi4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;
  display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-1);
  transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}
[data-theme="dark"] .kpi{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 40%),var(--surface)}
.kpi::after{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;border-radius:50%;
  background:var(--grad);opacity:.06;filter:blur(6px);pointer-events:none;transition:opacity var(--dur-2)}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}
.kpi:hover::after{opacity:.12}
.kpi b{display:block;font-size:1.3rem;color:var(--ink);letter-spacing:-.025em;line-height:1.2;font-weight:800}
.kpi span{font-size:var(--fs-xs);color:var(--muted);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.k-ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:1rem;flex:none;
  background:var(--grad);color:#fff;box-shadow:0 6px 16px -6px rgba(109,92,252,.55)}
.k-ico.blue{background:linear-gradient(135deg,#4c6dff,#6d85ff);color:#fff;box-shadow:0 6px 16px -6px rgba(76,109,255,.55)}
.k-ico.green{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 6px 16px -6px rgba(16,185,129,.5)}
.k-ico.orange{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 6px 16px -6px rgba(245,158,11,.5)}
.k-ico.purple{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 6px 16px -6px rgba(139,92,246,.55)}

/* ---------- 8. Tablo + araçları ---------- */
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}
.ftable{width:100%;border-collapse:collapse;font-size:var(--fs-md);background:transparent}
.ftable th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
  font-weight:750;padding:11px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;user-select:none;background:var(--surface-2)}
[data-theme="dark"] .ftable th{background:rgba(255,255,255,.02)}
.ftable th[data-sort]{cursor:pointer}
.ftable th[data-sort]:hover{color:var(--accent)}
.ftable th .sind{display:inline-block;margin-left:4px;opacity:.4;font-size:.6rem}
.ftable th[aria-sort="ascending"] .sind,.ftable th[aria-sort="descending"] .sind{opacity:1;color:var(--accent)}
.ftable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.ftable tbody tr{transition:background var(--dur-1)}
.ftable tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}
.ftable tbody tr:last-child td{border-bottom:none}
.tbl-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.tbl-search{position:relative;flex:1;min-width:180px;max-width:340px}
.tbl-search .in{padding-left:32px}
.tbl-search .fa-magnifying-glass{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:.75rem;pointer-events:none}
.tbl-count{font-size:var(--fs-xs);color:var(--muted);font-weight:600}
.tbl-pager{display:inline-flex;align-items:center;gap:4px;margin-left:auto}
.tbl-pager button{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;min-width:28px;height:28px;
  display:grid;place-items:center;color:var(--ink-2);cursor:pointer;font-size:var(--fs-xs);font-weight:700;padding:0 6px;
  transition:border-color var(--dur-1),color var(--dur-1)}
.tbl-pager button:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}
.tbl-pager button[disabled]{opacity:.4;cursor:default}
.tbl-pager .pg-inf{font-size:var(--fs-xs);color:var(--muted);padding:0 6px;font-weight:600}
.tbl-empty td{text-align:center;color:var(--muted);padding:26px 12px!important}

/* ---------- 9. Sekmeler ---------- */
.tabs{display:flex;gap:4px;background:var(--soft);padding:4px;border-radius:13px;width:fit-content;max-width:100%;overflow-x:auto}
.tab{border:none;background:transparent;color:var(--muted);font-weight:650;font-size:var(--fs-sm);font-family:inherit;
  padding:7px 15px;border-radius:10px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;
  transition:background var(--dur-1),color var(--dur-1),box-shadow var(--dur-1)}
.tab:hover{color:var(--ink)}
.tab.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2)}
.tab.on:first-child{box-shadow:var(--shadow-1),0 0 0 1px var(--accent-soft)}
.adm-tabs,.canko-tabs{margin-bottom:16px}

/* ---------- 10. Flash / toast / modal / skeleton / boş durum ---------- */
.flash{border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;font-size:var(--fs-sm);
  background:var(--surface-2);color:var(--ink-2);margin:0 0 12px}
.flash.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 25%,transparent);color:var(--ok);font-weight:650}
.flash.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn);font-weight:650}
.flash.err{background:var(--err-soft);border-color:color-mix(in srgb,var(--err) 25%,transparent);color:var(--err);font-weight:650}
.jd-toast{position:fixed;top:16px;right:16px;z-index:400;display:flex;align-items:center;gap:10px;max-width:420px;
  background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 16px;font-size:var(--fs-sm);font-weight:600;
  box-shadow:var(--shadow-3);opacity:1;transform:translateY(0);transition:opacity var(--dur-3),transform var(--dur-3) var(--ease)}
.jd-toast-ok .jd-toast-ic{color:#4ade80}.jd-toast-warn .jd-toast-ic{color:#fbbf24}.jd-toast-err .jd-toast-ic{color:#f87171}
.jd-toast-x{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:1rem;padding:0 2px}
.jd-modal{border:none;border-radius:var(--r-xl);padding:0;background:transparent;max-width:560px;width:calc(100% - 32px)}
.jd-modal::backdrop{background:rgba(7,10,20,.6);backdrop-filter:blur(4px)}
.jd-modal-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:20px 22px;box-shadow:var(--shadow-3)}
.jd-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.jd-modal[open] .jd-modal-box{animation:popIn var(--dur-2) var(--ease)}
@keyframes popIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.sk{position:relative;overflow:hidden;background:var(--soft);border-radius:8px}
.sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:shimmer 1.4s infinite}
[data-theme="dark"] .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}
@keyframes shimmer{100%{transform:translateX(100%)}}
.sk-line{height:12px;margin:8px 0}
.sk-card{height:120px;border-radius:var(--r-lg)}
.empty{text-align:center;padding:34px 18px;color:var(--muted)}
.empty .e-ico{width:56px;height:56px;margin:0 auto 12px;border-radius:18px;background:var(--grad-soft);
  border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
  display:grid;place-items:center;font-size:1.3rem;color:var(--accent)}

/* ---------- 11. Üst bar — havada, cam, yuvarlak ---------- */
.topnav{position:sticky;top:10px;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:14px;
  height:var(--topnav-h);margin:12px clamp(12px,2vw,28px) 0;padding:0 18px;
  background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2)}
.brand{font-size:1.12rem;font-weight:900;color:var(--ink);letter-spacing:-.025em;display:inline-flex;align-items:center;gap:2px}
.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand.big{font-size:1.4rem}
.topnav nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nl{color:var(--ink-2);font-weight:650;font-size:var(--fs-sm);padding:7px 10px;border-radius:9px;transition:background var(--dur-1),color var(--dur-1)}
.nl:hover{background:var(--soft);color:var(--ink)}
.nav-bal{display:inline-flex;align-items:center;gap:7px;background:var(--ok-soft);color:var(--ok);
  border:1px solid color-mix(in srgb,var(--ok) 25%,transparent);
  border-radius:999px;padding:5px 13px;font-size:var(--fs-sm);font-weight:750}
.nav-bal i{opacity:.8}

/* ---------- 12. Müşteri paneli kabuğu — tek birleşik gövde ---------- */
.dash{display:flex;gap:22px;align-items:flex-start;width:calc(100% - clamp(24px,4vw,56px));margin:12px auto 40px;max-width:none}
.d-main,.pj-main,.adm-main{padding-top:6px;min-width:0}
.dside{position:sticky;top:12px;width:250px;flex:none;
  background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--side-line);border-radius:var(--r-xl);padding:14px 12px 12px;display:flex;flex-direction:column;gap:4px;
  max-height:calc(100dvh - 24px);overflow:auto;box-shadow:var(--shadow-2)}
[data-theme="dark"] .dside,[data-theme="dark"] .pjside,[data-theme="dark"] .adm-side{
  background:linear-gradient(180deg,rgba(124,92,252,.05),transparent 34%),var(--side)}
.d-wallet{display:block;position:relative;overflow:hidden;background:var(--grad);border-radius:14px;padding:12px 14px;margin:0 2px 10px;
  color:#fff;box-shadow:var(--glow);transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),filter var(--dur-2)}
.d-wallet:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px rgba(109,92,252,.65);filter:brightness(1.05)}
.d-wallet span{color:rgba(255,255,255,.82)!important;font-weight:650}
.d-wallet b{display:block;color:#fff!important;font-size:1.22rem;letter-spacing:-.02em;margin:2px 0;font-weight:800}
.d-wallet .fa-wallet{color:#fff!important;margin-right:4px;opacity:.9}
.d-wallet::after{content:"";position:absolute;right:-18px;top:-18px;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.14)}
.d-group{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.13em;color:var(--side-muted);
  font-weight:750;padding:13px 12px 5px}
.d-nav{display:flex;flex-direction:column;gap:2px}
.d-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:11px;color:var(--side-ink);
  font-size:var(--fs-md);font-weight:620;transition:background var(--dur-1),color var(--dur-1),transform var(--dur-1),box-shadow var(--dur-1)}
.d-item i{width:18px;text-align:center;font-size:.9rem;opacity:.78;transition:opacity var(--dur-1)}
.d-item:hover{background:var(--soft);color:var(--ink);transform:translateX(2px)}
.d-item:hover i{opacity:1}
.d-item.on{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.d-item.on i{opacity:1}
.d-item.on::before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:3px;background:var(--accent)}
.d-main{flex:1;min-width:0}
.d-user{display:flex;align-items:center;gap:10px;padding:4px 8px 10px;margin-bottom:6px}
.d-ava{width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;
  font-weight:800;font-size:.95rem;flex:none;box-shadow:0 6px 16px -6px rgba(109,92,252,.55)}
.d-user b{display:block;color:var(--side-on);font-size:var(--fs-md);line-height:1.2}
.d-exit{display:flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:11px;
  color:var(--side-muted);font-size:var(--fs-sm);font-weight:650;transition:background var(--dur-1),color var(--dur-1)}
.d-exit:hover{background:var(--side-line);color:var(--side-on)}
.d-foot{padding:10px 12px 2px;color:var(--side-muted);font-size:var(--fs-xs)}
.d-logo{color:var(--side-on);font-weight:800;letter-spacing:-.02em}
.d-logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.d-card-mini{background:var(--side-line);border-radius:var(--r-md);padding:10px 12px;color:var(--side-ink);font-size:var(--fs-sm)}
.d-head{display:flex;align-items:center;gap:10px}

/* ---------- 13. Proje paneli kabuğu — tek birleşik gövde ---------- */
.pj{display:flex;gap:22px;align-items:flex-start;width:calc(100% - clamp(24px,4vw,56px));margin:12px auto 40px;max-width:none}
.pjside{position:sticky;top:12px;width:250px;flex:none;
  background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--side-line);border-radius:var(--r-xl);padding:14px 12px 12px;display:flex;flex-direction:column;gap:4px;
  max-height:calc(100dvh - 24px);overflow:auto;box-shadow:var(--shadow-2)}
.pj-id{padding:2px 6px 10px;margin-bottom:8px}
.pj-id-top{display:flex;gap:10px;align-items:center}
.pj-id b{color:var(--side-on);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-lg);letter-spacing:-.015em;font-weight:750}
.pj-dom{display:inline-flex;gap:5px;align-items:center;color:var(--accent);font-size:var(--fs-xs);font-weight:650;margin-top:2px}
.pj-dom:hover{color:var(--accent-ink)}
.pj-id .pill{font-size:.62rem}
.pj-tabs{display:flex;flex-direction:column;gap:2px}
.pj-back{display:flex;align-items:center;gap:9px;color:var(--side-muted);font-size:var(--fs-sm);font-weight:700;
  padding:8px 12px;border-radius:10px;margin-bottom:6px;transition:background var(--dur-1),color var(--dur-1)}
.pj-back:hover{background:var(--soft);color:var(--ink)}
.pjt{position:relative;display:flex;align-items:center;gap:11px;width:100%;border:none;background:transparent;color:var(--side-ink);
  font-size:var(--fs-md);font-weight:620;font-family:inherit;padding:9px 12px;border-radius:11px;cursor:pointer;
  text-align:left;transition:background var(--dur-1),color var(--dur-1),transform var(--dur-1),box-shadow var(--dur-1)}
.pjt i{width:18px;text-align:center;font-size:.88rem;opacity:.78;transition:opacity var(--dur-1)}
.pjt:hover{background:var(--soft);color:var(--ink);transform:translateX(2px)}
.pjt:hover i{opacity:1}
.pjt.on{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.pjt.on i{opacity:1}
.pjt.on::before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:3px;background:var(--accent)}
.pj-main{flex:1;padding-top:20px}
.pj-pagehead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pj-pagehead h1{font-size:var(--fs-2xl);margin:0;letter-spacing:-.025em}
.pj-menu-btn{display:none}
.pj-loader{position:fixed;inset:0;z-index:300;display:none;place-items:center;background:rgba(7,10,20,.4);backdrop-filter:blur(6px)}
.pj-loader.show{display:grid}
.pl-ring{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;
  animation:spin .8s linear infinite;margin:0 auto 10px}
@keyframes spin{to{transform:rotate(360deg)}}
.pj-loader span{color:#fff;font-weight:700;font-size:var(--fs-md)}
.pj-content{min-height:300px;animation:fadeUp var(--dur-2) var(--ease)}
.pj-group{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.13em;color:var(--side-muted);font-weight:750;padding:13px 12px 4px}
.pj-brand,.pjback{display:none}
.pj-subcard{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-top:10px}

/* ---------- 14. Yönetim kabuğu — tek birleşik gövde ---------- */
.adm-shell{display:flex;gap:22px;align-items:flex-start;width:calc(100% - clamp(24px,4vw,56px));margin:12px auto 40px;max-width:none}
.adm-side{position:sticky;top:12px;width:250px;flex:none;
  background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--side-line);border-radius:var(--r-xl);padding:14px 12px 12px;display:flex;flex-direction:column;gap:2px;
  max-height:calc(100dvh - 24px);overflow:auto;box-shadow:var(--shadow-2)}
.adm-side .d-group{padding-top:12px}
.adm-main{flex:1;padding-top:20px}
.adm-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.adm-top h1{font-size:var(--fs-2xl);margin:0;letter-spacing:-.025em}
.adm-stats{margin-bottom:16px}

/* ---------- 15. Sohbet (Canko) ---------- */
.cgpt{display:flex;height:calc(100dvh - 30px);overflow:hidden;background:transparent}
.cgpt-side{width:270px;flex:none;background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border-right:1px solid var(--side-line);display:flex;flex-direction:column;padding:12px 10px;gap:8px}
.cgpt-new{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#fff;border:none;
  border-radius:11px;padding:10px;font-weight:700;font-size:var(--fs-sm);font-family:inherit;cursor:pointer;box-shadow:var(--glow);
  transition:filter var(--dur-1),transform var(--dur-1)}
.cgpt-new:hover{filter:brightness(1.07);transform:translateY(-1px)}
.cgpt-convos{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px}
.cgpt-convo{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;color:var(--side-ink);
  font-size:var(--fs-sm);font-weight:600;cursor:pointer;border:none;background:transparent;text-align:left;font-family:inherit;width:100%;
  transition:background var(--dur-1),color var(--dur-1)}
.cgpt-convo:hover{background:var(--soft);color:var(--side-on)}
.cgpt-convo.on{background:var(--accent-soft);color:var(--accent)}
.cgpt-convo.on::before{content:"";width:3px;height:16px;border-radius:2px;background:var(--accent);flex:none}
.cgpt-conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cgpt-del{opacity:0;background:none;border:none;color:var(--side-muted);cursor:pointer;padding:2px 4px;border-radius:6px;transition:opacity var(--dur-1),color var(--dur-1)}
.cgpt-convo:hover .cgpt-del{opacity:1}
.cgpt-del:hover{color:var(--err)}
.cgpt-cred{color:var(--side-muted);font-size:var(--fs-xs);padding:8px 6px 2px;border-top:1px solid var(--side-line)}
.cgpt-main{flex:1;display:flex;flex-direction:column;min-width:0}
.cgpt-log{flex:1;overflow-y:auto;padding:26px clamp(14px,4vw,60px);scroll-behavior:smooth}
.cgpt-msg{display:flex;gap:13px;margin-bottom:22px;animation:fadeUp var(--dur-2) var(--ease)}
.cgpt-msg.me{flex-direction:row-reverse}
.cgpt-ava{width:34px;height:34px;border-radius:11px;flex:none;display:grid;place-items:center;font-weight:800;font-size:.82rem;
  background:var(--grad);color:#fff;box-shadow:0 5px 14px -5px rgba(109,92,252,.55)}
.cgpt-msg.me .cgpt-ava{background:var(--soft);color:var(--ink-2);box-shadow:none}
.cgpt-bub{max-width:min(680px,78%);background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:13px 16px;font-size:var(--fs-md);line-height:1.65;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-1)}
.cgpt-msg.me .cgpt-bub{background:var(--grad);border-color:transparent;color:#fff;border-bottom-right-radius:6px}
.cgpt-msg.ai .cgpt-bub{border-bottom-left-radius:6px}
.cgpt-hello{text-align:center;padding:9vh 16px 0;color:var(--muted)}
.cgpt-hello h2{font-size:1.5rem;color:var(--ink)}
.cgpt-meta{margin-top:7px;font-size:var(--fs-xs);color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cgpt-msg.me .cgpt-meta{justify-content:flex-end}
.cgpt-think{color:var(--faint);font-style:italic}
.cgpt-dots{display:inline-flex;gap:3px;margin-left:6px}
.cgpt-dots i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.cgpt-dots i:nth-child(2){animation-delay:.15s}.cgpt-dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cgpt-bar{flex:none;display:flex;gap:10px;align-items:flex-end;padding:14px clamp(14px,4vw,60px) 18px;
  background:linear-gradient(transparent,var(--bg) 30%)}
.cgpt-bar textarea{flex:1;background:var(--surface);border:1px solid var(--line-2);border-radius:15px;
  padding:12px 15px;font-size:var(--fs-md);font-family:inherit;color:var(--txt);outline:none;resize:none;min-height:48px;max-height:160px;
  transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.cgpt-bar textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.cgpt-send{background:var(--grad);color:#fff;border:none;border-radius:13px;width:48px;height:48px;flex:none;cursor:pointer;
  font-size:1rem;display:grid;place-items:center;box-shadow:var(--glow);transition:filter var(--dur-1),transform var(--dur-1)}
.cgpt-send:hover{filter:brightness(1.08);transform:translateY(-1px)}
.cgpt-side-toggle{display:none;background:transparent;border:1px solid var(--line-2);color:var(--ink-2);border-radius:9px;width:36px;height:36px;place-items:center;cursor:pointer}
.cgpt-head{display:none;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.cgpt-foot{padding:0 clamp(14px,4vw,60px) 10px;color:var(--faint);font-size:var(--fs-xs);text-align:center}

/* ---------- 16. Canko modeller / cüzdan / can-map ---------- */
.canko-wrap{animation:fadeUp var(--dur-2) var(--ease)}
.canko-panel{display:none}
.canko-panel.on{display:block;animation:fadeUp var(--dur-2) var(--ease)}
.canko-model{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;gap:12px;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2)}
.canko-model:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.canko-model-head{display:flex;gap:12px;align-items:flex-start}
.canko-ico{width:42px;height:42px;border-radius:13px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;flex:none;box-shadow:0 6px 16px -6px rgba(109,92,252,.55)}
.canko-specs{display:flex;flex-wrap:wrap;gap:7px}
.canko-chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);
  border-radius:999px;padding:4px 11px;font-size:var(--fs-xs);color:var(--muted);font-weight:650}
.canko-chip b{color:var(--ink)}
.canko-pricing{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.canko-price{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px;display:grid;gap:1px}
.canko-price b{font-size:1.12rem;color:var(--ink);letter-spacing:-.02em}
.canko-balance-hero,.wallet-hero{position:relative;overflow:hidden;background:var(--grad);border:1px solid transparent;border-radius:var(--r-lg);padding:22px;color:#fff;box-shadow:0 16px 44px -14px rgba(109,92,252,.55)}
.canko-balance-hero h2,.wallet-hero h2,.canko-balance-hero .muted,.wallet-hero .muted{color:rgba(255,255,255,.9)!important}
.canko-balance-hero .muted,.wallet-hero .muted{color:rgba(255,255,255,.75)!important}
.canko-balance-hero::after,.wallet-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.canko-balance-hero .pill,.wallet-hero .pill{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.28)}
.canko-balance-hero .btn.ghost,.wallet-hero .btn.ghost{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.32);box-shadow:none}
.canko-balance-hero .btn.ghost:hover,.wallet-hero .btn.ghost:hover{background:rgba(255,255,255,.26);color:#fff;border-color:rgba(255,255,255,.45)}
/* büyük bakiye/süre rakamları: gradyan metin — hero içinde beyaz */
.wallet-big,.canko-balance-big{font-size:2.3rem;font-weight:850;letter-spacing:-.03em;line-height:1.15;color:var(--ink);
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.canko-balance-hero .canko-balance-big,.wallet-hero .wallet-big{
  background:none;-webkit-text-fill-color:#fff;color:#fff}
.canko-live{display:inline-flex;align-items:center;gap:6px}
.canko-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 5px rgba(74,222,128,0)}}
.canko-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.canko-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.can-map{display:flex;flex-direction:column;gap:12px;padding:6px 2px}
.can-map-col{display:flex;flex-direction:column;gap:8px}
.can-map-node{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 13px;
  font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);transition:border-color var(--dur-1),transform var(--dur-1)}
.can-map-node:hover{transform:translateX(3px)}
.can-map-node.can-router{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.can-map-node.can-done{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.can-map-node.can-fallback{border-style:dashed;color:var(--muted)}
.can-map-tier{display:grid;gap:8px}
.can-map-tier.simple{border-left:3px solid var(--ok)}
.can-map-tier.normal{border-left:3px solid var(--accent)}
.can-map-tier.hard{border-left:3px solid #a78bfa}
.can-map-arrow{color:var(--faint);text-align:center;font-size:.8rem}
.can-map-branches{display:grid;gap:10px}
.can-map-chain{display:grid;gap:6px}
.can-map-note{font-size:var(--fs-xs);color:var(--muted)}
.models{display:grid;gap:10px}
.modelchip{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:999px;
  padding:3px 10px;font-size:var(--fs-xs);font-weight:650;color:var(--ink-2)}

/* ---------- 17. Listeler: projeler, talepler, abonelik, fatura ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:10px;
  color:var(--txt);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2)}
[data-theme="dark"] .pcard{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 40%),var(--surface)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.pcard.new{align-items:center;justify-content:center;border-style:dashed;color:var(--muted);min-height:180px;cursor:pointer;
  transition:border-color var(--dur-2),color var(--dur-2),transform var(--dur-2),background var(--dur-2)}
.pcard.new:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-4px);background:var(--grad-soft)}
.pcard.new b{color:inherit}
.pc-top{display:flex;gap:10px;align-items:center}
.he-plus{font-size:1.8rem;color:var(--faint);line-height:1}
.pico{width:36px;height:36px;border-radius:11px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:.9rem;flex:none;box-shadow:0 5px 14px -5px rgba(109,92,252,.5)}
.pico.lg{width:42px;height:42px;font-size:1rem;border-radius:13px}
.pinfo{min-width:0;flex:1}
.pinfo b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prow{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);
  color:var(--txt);transition:border-color var(--dur-1),background var(--dur-1),transform var(--dur-1),box-shadow var(--dur-1)}
.prow:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface-2);transform:translateX(3px);box-shadow:var(--shadow-1)}
.prow2{display:flex;justify-content:space-between;gap:8px}
.pfoot{display:flex;align-items:center;gap:8px;border-top:1px dashed var(--line);padding-top:10px;margin-top:auto}
.pkg{position:relative}
.pkg.hot{border-color:transparent;box-shadow:0 0 0 1.5px transparent,var(--shadow-2);background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.pkg .pop{position:absolute;top:-10px;right:14px;background:var(--grad);color:#fff;font-size:var(--fs-xs);font-weight:750;
  border-radius:999px;padding:3px 10px;letter-spacing:.03em;box-shadow:var(--glow)}
.price{font-size:1.5rem;font-weight:850;color:var(--ink);letter-spacing:-.025em}
.price span{font-size:var(--fs-sm);color:var(--muted);font-weight:600}
.feats{list-style:none;margin:0;display:grid;gap:6px;font-size:var(--fs-sm);color:var(--ink-2)}
.feats i{color:var(--ok);margin-right:2px}
.plist{display:grid;gap:9px}
.u-bar{height:7px;border-radius:99px;background:var(--soft);overflow:hidden;margin:6px 0 4px}
.u-bar i{display:block;height:100%;border-radius:99px;background:var(--grad);transition:width var(--dur-3) var(--ease)}
.u-bar.sm{height:6px}
.u-bar.pct{height:8px}
.usage-bar{height:7px;border-radius:99px;background:var(--soft);overflow:hidden}
.usage-grid{display:grid;gap:4px}
.usage-head{display:flex;justify-content:space-between;font-size:var(--fs-sm)}
.usage-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-sm)}
.tlist,.tlist2{display:grid;gap:9px}
.trow{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--txt);
  transition:border-color var(--dur-1),background var(--dur-1),transform var(--dur-1),box-shadow var(--dur-1)}
.trow:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface-2);transform:translateX(3px);box-shadow:var(--shadow-1)}
.t-ico{width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--muted);display:grid;place-items:center;
  font-weight:800;font-size:var(--fs-sm);flex:none}
.t-ico.high{background:var(--err-soft);color:var(--err)}
.back{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:700;color:var(--muted);margin-bottom:10px;
  padding:5px 10px;border-radius:8px;transition:background var(--dur-1),color var(--dur-1)}
.back:hover{background:var(--soft);color:var(--accent)}
.sub-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 17px;margin-top:10px;background:var(--surface)}
.sub-card.ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}
.sub-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sub-price{font-size:1.25rem;font-weight:800;color:var(--ink);margin:6px 0}
.specs{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:10px 0 0}
.specs li{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:9px;text-align:center}
.specs b{display:block;color:var(--ink)}
.specs span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.inv-no{font-family:var(--mono);font-size:var(--fs-sm)}
.invoices{display:grid;gap:8px}
.lt-plus{color:var(--ok)}.lt-minus{color:var(--err)}
.warn-card{border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}
.hero-empty{text-align:center;padding:52px 20px}
.he-ico{font-size:2.4rem;margin-bottom:8px}
.faq{border-bottom:1px solid var(--line);padding:11px 2px}
.faq summary{cursor:pointer;font-weight:650;color:var(--ink);font-size:var(--fs-md)}
.faq p{margin:9px 0 2px;color:var(--muted);font-size:var(--fs-sm)}
.balance-chip{display:inline-flex;gap:6px;align-items:center}

/* ---------- 18. Proje içeriği: dosya, db, terminal, önizleme ---------- */
.fm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.fdir{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;color:var(--txt);font-size:var(--fs-md);
  transition:background var(--dur-1)}
.fdir:hover{background:var(--soft)}
.fdir i{color:var(--accent)}
.mb-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.mb-row:last-child{border-bottom:none}
.mb-ic{color:var(--accent);width:18px;text-align:center}
.db{font-size:var(--fs-sm)}
.db-bar{display:flex;flex-direction:column;gap:10px}
.db-card{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;background:var(--surface)}
.term{background:#0a0f1e;border:1px solid #202b48;border-radius:var(--r-lg);overflow:hidden;color:#d5e0f5;box-shadow:inset 0 0 40px rgba(76,109,255,.05)}
.term-head{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#0d1428;border-bottom:1px solid #202b48;
  color:#8ea2c6;font-size:var(--fs-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.term-out{font-family:var(--mono);font-size:.8rem;line-height:1.65;padding:14px 16px;max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word}
.term-ps{color:#4ade80}
.pv-frame-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.pv-bar{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 12px;font-size:var(--fs-xs);color:var(--muted)}
.preview-box{width:100%;height:520px;border:none;background:#fff}
.dom-form{display:flex;gap:8px;flex-wrap:wrap}
.perm-code{font-family:var(--mono)}
.phero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-1)}
[data-theme="dark"] .phero{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 42%),var(--surface)}
.ph-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ph-title h1{margin:0;font-size:1.35rem;letter-spacing:-.025em}
.ph-actions{display:flex;gap:8px;flex-wrap:wrap}
.ptab{animation:fadeUp var(--dur-2) var(--ease)}
.ptab-full{max-width:none}
.pt-h{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:750;margin:14px 0 8px}
.pj-content .card{margin-bottom:14px}
.danger-zone{border:1px solid color-mix(in srgb,var(--err) 30%,transparent);background:var(--err-soft);border-radius:var(--r-lg);padding:16px}
.cr-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cr-sch{font-size:var(--fs-sm);color:var(--muted)}

/* ---------- 19. Studio ---------- */
.studio{display:flex;height:calc(100dvh - var(--topnav-h) - 22px);overflow:hidden}
.st-left{width:250px;flex:none;background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  border-right:1px solid var(--side-line);display:flex;flex-direction:column;padding:12px 10px;gap:8px;overflow:auto}
.st-left-head{display:flex;align-items:center;justify-content:space-between;color:var(--side-muted);font-size:var(--fs-xs);
  font-weight:750;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px}
.st-conv-list{display:grid;gap:2px}
.jd-conv{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;color:var(--side-ink);font-size:var(--fs-sm);
  font-weight:600;cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.jd-conv:hover{background:var(--soft);color:var(--side-on)}
.jd-conv.on{background:var(--accent-soft);color:var(--accent)}
.jd-conv.on::before{content:"";width:3px;height:15px;border-radius:2px;background:var(--accent);flex:none}
.jd-conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-main{flex:1;display:flex;flex-direction:column;min-width:0}
.st-tabs{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto}
.st-chat-head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.chatlog{flex:1;overflow-y:auto;padding:20px clamp(14px,4vw,50px);display:flex;flex-direction:column;gap:16px}
.msg{display:flex;gap:12px;max-width:100%}
.msg.me{flex-direction:row-reverse}
.msg-b{max-width:min(660px,80%);background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:12px 15px;
  font-size:var(--fs-md);line-height:1.6;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-1);animation:fadeUp var(--dur-2) var(--ease)}
.msg.me .msg-b{background:var(--grad);border-color:transparent;color:#fff}
.msg-m{margin-top:5px}
.chatbar{display:flex;gap:10px;padding:12px clamp(14px,4vw,50px) 16px;background:linear-gradient(transparent,var(--bg) 40%)}
.chatbar textarea{flex:1;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:11px 14px;
  font-family:inherit;font-size:var(--fs-md);color:var(--txt);outline:none;resize:none;min-height:46px;max-height:150px;
  transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.chatbar textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.jd-timeline{display:grid;gap:6px;padding:10px clamp(14px,4vw,50px)}
.jd-tl{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);padding:8px 12px;font-size:var(--fs-sm);animation:fadeUp var(--dur-2) var(--ease)}
.jd-tl code{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jd-tl.sql{border-left:3px solid var(--info)}
.studio-embed{width:100%;height:100%;border:none}
.studio.studio--chat{display:flex}

/* ---------- 20. Kimlik / misc ---------- */
.auth-wrap{min-height:calc(100dvh - var(--topnav-h) - 34px);display:grid;place-items:center;padding:28px 16px}
.auth-card{width:100%;max-width:410px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:30px 30px 26px;box-shadow:var(--shadow-3);animation:fadeUp var(--dur-3) var(--ease);position:relative;overflow:hidden}
.auth-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad)}
.auth-card .brand{display:inline-flex;margin-bottom:18px}
.otp{display:flex;gap:8px;justify-content:center}
.lg-row{display:grid;gap:10px}
.ok-t{color:var(--ok);font-weight:700}
.chart-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}
.pct-n{font-weight:800;color:var(--ok)}
.pct-n.warn{color:var(--warn)}
#page{animation:fadeUp var(--dur-2) var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sb-scrim{position:fixed;inset:0;z-index:240;background:rgba(7,10,20,.5);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--dur-2)}
body.sb-open .sb-scrim{opacity:1;pointer-events:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mini-form{display:grid;gap:8px}

/* ---------- 21. Responsive ---------- */
@media (max-width:1280px){
  .dash,.pj,.adm-shell{gap:18px}
}
@media (max-width:1024px){
  .dside,.adm-side,.pjside{position:fixed;left:0;top:0;bottom:0;height:100dvh;max-height:none;z-index:250;
    border-radius:0 var(--r-xl) var(--r-xl) 0;width:272px;transform:translateX(-105%);
    transition:transform var(--dur-3) var(--ease);box-shadow:var(--shadow-3)}
  body.sb-open .dside,body.sb-open .adm-side,body.sb-open .pjside{transform:translateX(0)}
  .burger{display:grid}
  .pj-menu-btn{display:grid}
  .grid2,.grid2.wide2{grid-template-columns:1fr}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .cgpt-side{position:fixed;left:0;top:0;bottom:0;z-index:250;transform:translateX(-105%);
    transition:transform var(--dur-3) var(--ease);border-radius:0 var(--r-xl) var(--r-xl) 0}
  body.sb-open .cgpt-side{transform:translateX(0)}
  .cgpt-side-toggle{display:grid}
  .cgpt-head{display:flex}
}
@media (max-width:768px){
  body{font-size:14px}
  .topnav{margin:10px 12px 0;padding:0 14px}
  .topnav .nl{display:none}
  .dash,.pj,.adm-shell{width:calc(100% - 24px);margin:12px auto 34px;gap:0}
  .d-main,.pj-main,.adm-main{padding-top:8px}
  .page-head h1,.pj-pagehead h1,.adm-top h1{font-size:1.3rem}
  .kpi4{grid-template-columns:repeat(2,1fr);gap:10px}
  .kpi{padding:12px}
  .kpi b{font-size:1.05rem}
  .k-ico{width:38px;height:38px;border-radius:11px}
  .card{padding:14px;border-radius:var(--r-md)}
  .phero{padding:14px}
  .ph-actions{width:100%}
  .grid3{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr}
  .canko-pricing{grid-template-columns:1fr}
  .ftable th,.ftable td{padding:8px 9px}
  .jd-modal{width:100%;margin:8px}
  .cgpt-bub{max-width:88%}
  .cgpt-log{padding:18px 14px}
  .cgpt-bar{padding:10px 14px 14px}
  .chatlog{padding:16px 14px}
  .chatbar{padding:10px 14px 14px}
  .msg-b{max-width:86%}
  .wallet-big,.canko-balance-big{font-size:1.7rem}
  .specs{grid-template-columns:repeat(2,1fr)}
  .usage-row{grid-template-columns:90px 1fr auto}
}
@media (max-width:560px){
  .kpi4{grid-template-columns:1fr 1fr}
  .nav-bal{font-size:var(--fs-xs);padding:4px 9px}
  .topnav .chip{max-width:110px}
  .btn{padding:9px 13px}
  .tbl-tools{flex-direction:column;align-items:stretch}
  .tbl-search{max-width:none}
  .tbl-pager{margin-left:0}
}

/* ---------- 24. Kaydırma davranışı — kabuk SABİT, yalnız içerik kayar ---------- */
@media (min-width:1025px) and (min-height:600px){
  html:has(body.app-shell){overflow:hidden}
  body.app-shell{overflow:hidden;height:100dvh}
  .dash,.pj,.adm-shell{height:calc(100dvh - 24px);margin:12px auto 12px;overflow:hidden}
  .dside,.pjside,.adm-side{position:relative;top:auto;height:100%;max-height:none;overflow:hidden;overscroll-behavior:contain}
  .adm-side{overflow-y:auto} /* yönetim sidebar'ı bütün olarak kayar */
  .d-main,.pj-main,.adm-main{height:100%;overflow-y:auto;padding-top:0;overscroll-behavior:contain}
  .d-main .page-head,.pj-main .pj-pagehead,.adm-main .adm-top{
    position:sticky;top:0;z-index:6;background:color-mix(in srgb,var(--bg) 86%,transparent);
    backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);
    padding-top:12px;margin-top:0}
  .d-main.chat-mode{overflow:hidden;display:flex;flex-direction:column}
  .chat-mode .cgpt{flex:1;height:auto;min-height:0}
}
/* sidebar anatomisi: marka+cüzdan üstte sabit → sekmeler ortada kayar → profil+çıkış altta SABİT */
.dside>*,.pjside>*{flex-shrink:0}
.d-nav,.pj-tabs{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--side-muted) 55%,transparent) transparent}
.d-nav::-webkit-scrollbar,.pj-tabs::-webkit-scrollbar{width:9px}
.d-nav::-webkit-scrollbar-thumb,.pj-tabs::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--side-muted) 45%,transparent);border-radius:8px;
  border:2px solid transparent;background-clip:content-box}
.d-nav::-webkit-scrollbar-thumb:hover,.pj-tabs::-webkit-scrollbar-thumb:hover{
  background:color-mix(in srgb,var(--side-muted) 75%,transparent);border:2px solid transparent;background-clip:content-box}
.side-foot{flex-shrink:0;margin-top:auto}
/* mobil çekmecede sidebar bütün olarak kayar, iç içe kaydırma olmasın */
@media (max-width:1024px){
  .dside,.pjside{overflow-y:auto}
  .d-nav,.pj-tabs{flex:0 0 auto;overflow:visible}
}
/* studio sekmesi: sabit yükseklik */
.ptab-studio{display:flex;flex-direction:column;height:min(74vh,780px);min-height:430px}
.studio-embed{flex:1;display:flex;min-height:0}
.studio-embed iframe{width:100%;height:100%;border:none;border-radius:10px}

/* ---------- 25. Yazdırma ---------- */
@media print{
  .topnav,.dside,.adm-side,.pjside,.jd-toast,.cgpt-side,.pj-loader,.sb-scrim{display:none!important}
  .dash,.pj,.adm-shell{width:100%;margin:0}
  body{background:#fff}
}

/* ---------- 23. Uyumluluk katmanı (eski sınıflar) ---------- */
.d-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:2px 6px 12px;border-bottom:1px solid var(--side-line);margin-bottom:10px}
.d-brand .brand{font-size:1.05rem}
.side-foot{display:flex;align-items:center;gap:9px;margin-top:auto;padding:12px 6px 2px;border-top:1px solid var(--side-line)}
.side-user{flex:1;min-width:0;line-height:1.25}
.side-user b{display:block;color:var(--ink);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-ctl{flex:none;width:32px;height:32px;border-radius:10px;border:1px solid var(--side-line);background:transparent;
  color:var(--side-muted);display:grid;place-items:center;cursor:pointer;font-size:.8rem;
  transition:border-color var(--dur-1),color var(--dur-1),transform var(--dur-1)}
.side-ctl:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.d-ava.sm{width:30px;height:30px;border-radius:10px;font-size:.8rem}
.dots{display:inline-flex;gap:2px;margin-left:2px}
.dots i{animation:blink 1.2s infinite;font-style:normal}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.up-btn{display:inline-flex;align-items:center;gap:7px;background:var(--grad);color:#fff;border:1px solid transparent;
  border-radius:11px;padding:9px 15px;font-size:var(--fs-md);font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:var(--glow);
  transition:filter var(--dur-1),transform var(--dur-1),box-shadow var(--dur-1)}
.up-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.up-btn input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.up-btn:not(.solid){background:var(--surface);color:var(--ink-2);border-color:var(--line-2);box-shadow:var(--shadow-1)}
.up-btn:not(.solid):hover{border-color:var(--accent);color:var(--accent);filter:none}
.navlink{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:9px;
  padding:5px 11px;font-size:var(--fs-sm);font-weight:650;color:var(--ink-2);transition:border-color var(--dur-1),color var(--dur-1),background var(--dur-1)}
.navlink:hover{border-color:var(--accent);color:var(--accent);background:var(--surface)}
.navlink i{color:var(--faint)}
.ffile{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.ffile:last-child{border-bottom:none}
.ffile i{color:var(--accent);width:18px;text-align:center}
.replies{display:grid;gap:12px}
.ticket-view{max-width:860px;margin:0 auto}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qa{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px}
.qa b{display:block;color:var(--ink);margin-bottom:4px}
.scard{border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;background:var(--surface)}
.scard.bad{border-color:color-mix(in srgb,var(--err) 30%,transparent);background:var(--err-soft)}
.prov{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;background:var(--surface);margin-bottom:10px;
  transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.prov.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.prov-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.can-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0}
.can-user{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--ink)}
.d-brand{display:flex;align-items:center;gap:8px;padding:2px 8px 12px;color:var(--side-on);font-weight:800;letter-spacing:-.02em}
.skf{background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:4px 12px;font-size:var(--fs-xs);
  font-weight:700;color:var(--muted);cursor:pointer;transition:border-color var(--dur-1),color var(--dur-1)}
.skf:hover{border-color:var(--accent);color:var(--accent)}
.skf.on{background:var(--grad);border-color:transparent;color:#fff}
.skrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-sm)}
.skq{font-size:var(--fs-sm);color:var(--muted)}
.pad{padding:14px}
.perm{max-width:90px;font-family:var(--mono)}
@media (max-width:768px){.qa-grid{grid-template-columns:1fr}}

/* ============================================================
   v40 — AURORA geri dönüş katmanı (siz istediniz: geri getir)
   ============================================================ */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1000px 520px at 88% -12%, rgba(124,92,252,.13), transparent 62%),
    radial-gradient(820px 480px at -8% 8%, rgba(76,109,255,.10), transparent 60%),
    radial-gradient(700px 520px at 50% 118%, rgba(14,165,233,.07), transparent 62%)}
[data-theme="dark"] body::before{background:
    radial-gradient(1000px 560px at 88% -14%, rgba(124,92,252,.20), transparent 64%),
    radial-gradient(860px 520px at -10% 6%, rgba(76,109,255,.16), transparent 62%),
    radial-gradient(720px 560px at 50% 120%, rgba(14,165,233,.10), transparent 64%),
    radial-gradient(500px 300px at 108% 78%, rgba(157,92,246,.08), transparent 60%)}
.btn.solid{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.btn.solid:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(109,92,252,.6);filter:brightness(1.06)}
.btn-primary,.up-btn{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.btn-grad{background:var(--grad);color:#fff;border-color:transparent;box-shadow:var(--glow)}
.k-ico{background:var(--grad);color:#fff;box-shadow:0 6px 16px -6px rgba(109,92,252,.55)}
.k-ico.blue{background:linear-gradient(135deg,#4c6dff,#6d85ff);color:#fff;box-shadow:0 6px 16px -6px rgba(76,109,255,.55)}
.k-ico.green{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 6px 16px -6px rgba(16,185,129,.5)}
.k-ico.orange{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 6px 16px -6px rgba(245,158,11,.5)}
.k-ico.purple{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 6px 16px -6px rgba(139,92,246,.55)}
.kpi::after{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;border-radius:50%;background:var(--grad);opacity:.06;filter:blur(6px);pointer-events:none;transition:opacity var(--dur-2)}
.kpi:hover::after{opacity:.12}
.kpi b{font-size:1.3rem;font-weight:800;letter-spacing:-.025em}
.kpi span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.kpi{border-radius:var(--r-lg);overflow:hidden;position:relative}
.d-side,.pjside,.adm-side{background:var(--side);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--r-xl);box-shadow:var(--shadow-2);border:1px solid var(--side-line)}
.d-item.on,.pjt.on{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.d-item,.pjt{border-radius:11px}
.d-item:hover,.pjt:hover{background:var(--soft);color:var(--ink);transform:translateX(2px)}
.card{border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--r-lg) var(--r-lg) 0 0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(124,92,252,.28),rgba(76,109,255,.28),transparent);opacity:.6}
.pcard{border-radius:var(--r-lg)}
.pcard:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));transform:translateY(-4px);box-shadow:var(--shadow-2)}
.ftable th{background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.ftable tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}
.pill{border-radius:999px;font-size:11.5px;font-weight:700;padding:3px 10px}
.pill.green{background:var(--ok-soft);color:var(--ok)}
.pill.blue{background:var(--accent-soft);color:var(--accent)}
.pill.gray{background:var(--soft);color:var(--muted)}
.btn{border-radius:11px;font-weight:700;font-size:13.5px;padding:9px 17px}
.btn.sm{font-size:12.5px;padding:7px 13px;border-radius:10px}
.btn.xs{font-size:11.5px;padding:4px 10px;border-radius:8px}
.kpi b{font-size:1.3rem;font-weight:800}
.kpi span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.in{border-radius:11px;padding:9px 12px;font-size:13.5px;font-weight:400}
.in:focus{box-shadow:0 0 0 4px var(--accent-soft)}
.auth-card{border-radius:var(--r-xl)}
.page-head h1,.pj-pagehead h1,.adm-top h1,.ptab h1{font-size:26px;letter-spacing:-.024em}
.page-head h1 i{display:inline-block}
.d-item,.pjt{font-size:13.5px}
.d-ava,.cgpt-ava,.canko-ico{background:var(--grad);box-shadow:0 6px 16px -6px rgba(109,92,252,.55)}
.pico{background:var(--grad);color:#fff;box-shadow:0 5px 14px -5px rgba(109,92,252,.5)}
.d-wallet{background:var(--grad);color:#fff;border-radius:14px;box-shadow:var(--glow);overflow:hidden;position:relative}
.d-wallet span{color:rgba(255,255,255,.82)!important;font-weight:650}
.d-wallet b{color:#fff!important;font-size:1.22rem;font-weight:800}
.d-wallet .fa-wallet{color:#fff!important;opacity:.9}
.d-wallet::after{content:"";position:absolute;right:-18px;top:-18px;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.14)}
.d-wallet:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px rgba(109,92,252,.65)}
[data-theme="dark"] .dside,[data-theme="dark"] .pjside,[data-theme="dark"] .adm-side{background:linear-gradient(180deg,rgba(124,92,252,.05),transparent 34%),var(--side)}

/* v43 — model kartı spec satırları: çizgili, ferah, simetrik */
.canko-spec-rows{display:grid;border-top:1px solid var(--line);margin:8px 0 0}
.csr{display:flex;align-items:center;justify-content:space-between;padding:5px 2px;border-bottom:1px solid var(--line);background:transparent}
.csr:last-child{border-bottom:none}
.csr span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;font-weight:500}
.csr span i{color:var(--accent);width:14px;text-align:center;font-size:11px;opacity:.8}
.csr b{font-size:12.5px;font-weight:600;color:var(--ink)}
.csr b.mono{font-family:'JetBrains Mono',monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:2px 8px}
[data-theme="dark"] .csr{border-bottom-color:#27272a}
[data-theme="dark"] .csr b{color:#fafafa}
[data-theme="dark"] .csr b.mono{background:#27272a;border-color:#3f3f46;color:#e4e4e7}
[data-theme="dark"] .csr span{color:#a1a1aa}
[data-theme="dark"] .csr span i{color:#60a5fa}
[data-theme="dark"] .canko-ico{background:#18181b;border-color:#3f3f46}

/* ============================================================
   30. Jett AI Chat — "AIChat" düzeni, monokrom (beyaz/siyah)
   tailgrids aichat benzeri: tek sidebar + merkez hero + input kartı
   ============================================================ */
.ckapp{
  --ck-page:#e7e7e4; --ck-side:#ffffff; --ck-main:#fafafa; --ck-card:#ffffff;
  --ck-ink:#0a0a0a; --ck-ink-2:#3f3f46; --ck-muted:#71717a; --ck-faint:#a1a1aa;
  --ck-line:#e4e4e7; --ck-line-2:#d4d4d8; --ck-soft:#f4f4f5; --ck-soft-2:#ececee;
  --ck-accent:#0a0a0a; --ck-accent-ink:#ffffff;
  --ck-ring:0 0 0 3px rgba(10,10,10,.08);
  display:flex;width:calc(100% - clamp(24px,4vw,56px));margin:14px auto;height:calc(100dvh - 60px);min-height:520px;
  overflow:hidden;border-radius:20px;border:1px solid var(--ck-line);
  background:var(--ck-main);box-shadow:0 1px 2px rgba(0,0,0,.04),0 24px 60px -30px rgba(0,0,0,.18);
  font-family:var(--font);
}
[data-theme="dark"] .ckapp{
  --ck-page:#050505; --ck-side:#0c0c0d; --ck-main:#0a0a0b; --ck-card:#131315;
  --ck-ink:#fafafa; --ck-ink-2:#d4d4d8; --ck-muted:#9b9ba3; --ck-faint:#6b6b74;
  --ck-line:#1f1f23; --ck-line-2:#2c2c31; --ck-soft:#17171a; --ck-soft-2:#1e1e22;
  --ck-accent:#fafafa; --ck-accent-ink:#09090b;
  --ck-ring:0 0 0 3px rgba(255,255,255,.12);
  box-shadow:0 1px 2px rgba(0,0,0,.5),0 30px 70px -30px rgba(0,0,0,.8);
}
body:has(.ckapp){background:var(--ck-page, #e7e7e4)}
[data-theme="dark"] body:has(.ckapp){background:#050505}
@media (min-width:1025px) and (min-height:600px){ .ckapp{height:calc(100dvh - 28px)} }
@media (max-width:768px){ .ckapp{width:100%;margin:0;height:100dvh;border-radius:0;border:none;min-height:100dvh} }

/* ── sidebar ── */
.ck-side{width:272px;flex:none;display:flex;flex-direction:column;gap:10px;padding:16px 14px;background:var(--ck-side);border-right:1px solid var(--ck-line)}
.ck-brand{display:flex;align-items:center;gap:10px;padding:2px 4px 8px}
.ck-mark{width:34px;height:34px;flex:none;border-radius:10px;background:var(--ck-accent);color:var(--ck-accent-ink);display:grid;place-items:center;font-size:.9rem;text-decoration:none}
.ck-word{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;color:var(--ck-ink);flex:1}
.ck-ico-btn{width:32px;height:32px;border:none;border-radius:9px;background:transparent;color:var(--ck-muted);cursor:pointer;display:grid;place-items:center;transition:background var(--dur-1),color var(--dur-1)}
.ck-ico-btn:hover{background:var(--ck-soft);color:var(--ck-ink)}
.ck-new{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:11px;border:1px solid var(--ck-line-2);background:var(--ck-card);color:var(--ck-ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color var(--dur-1),background var(--dur-1)}
.ck-new:hover{border-color:var(--ck-ink);background:var(--ck-soft)}
.ck-new i{color:var(--ck-muted);font-size:.9rem}
.ck-new:hover i{color:var(--ck-ink)}
.ck-search{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:11px;border:1px solid var(--ck-line);background:transparent;color:var(--ck-faint);transition:border-color var(--dur-1)}
.ck-search:focus-within{border-color:var(--ck-ink-2)}
.ck-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--ck-ink);font:inherit;font-size:.82rem}
.ck-search input::placeholder{color:var(--ck-faint)}
.ck-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;margin:0 -6px;padding:0 6px;display:flex;flex-direction:column;gap:2px}
.ck-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ck-faint);padding:14px 10px 6px}
.ck-navlink{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--ck-ink-2);text-decoration:none;font-size:.84rem;font-weight:500;transition:background var(--dur-1),color var(--dur-1)}
.ck-navlink i{width:18px;text-align:center;color:var(--ck-faint);font-size:.85rem;transition:color var(--dur-1)}
.ck-navlink:hover{background:var(--ck-soft);color:var(--ck-ink)}
.ck-navlink:hover i{color:var(--ck-ink)}
.ck-group{display:flex;flex-direction:column;gap:2px;padding-bottom:6px}
.ck-group-t{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ck-faint);padding:10px 10px 4px}
.ck-convo{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;color:var(--ck-ink-2);font-size:.84rem;cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.ck-convo i{color:var(--ck-faint);font-size:.82rem;flex:none}
.ck-convo .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-convo:hover{background:var(--ck-soft);color:var(--ck-ink)}
.ck-convo.on{background:var(--ck-accent);color:var(--ck-accent-ink)}
.ck-convo.on i{color:var(--ck-accent-ink)}
.ck-del{opacity:0;border:none;background:none;color:inherit;cursor:pointer;padding:2px 5px;border-radius:6px;font-size:.8rem;transition:opacity var(--dur-1),transform var(--dur-1)}
.ck-convo:hover .ck-del{opacity:.75}
.ck-del:hover{opacity:1;transform:scale(1.12)}
.ck-convo.on .ck-del:hover{color:var(--ck-ink)}
.ck-none{padding:10px;font-size:.78rem;color:var(--ck-faint)}
.ck-user{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:var(--ck-accent);color:var(--ck-accent-ink);text-decoration:none;flex:none}
.ck-user-ava{width:32px;height:32px;flex:none;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-weight:800;font-size:.8rem}
[data-theme="dark"] .ck-user-ava{background:rgba(0,0,0,.1);border-color:rgba(0,0,0,.22)}
.ck-user-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ck-user-meta b{font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-user-meta span{font-size:.62rem;opacity:.66}
.ck-user-bar{display:block;height:3px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:2px;font-style:normal}
[data-theme="dark"] .ck-user-bar{background:rgba(0,0,0,.16)}
.ck-user-bar b{display:block;height:100%;border-radius:2px;background:currentColor;opacity:.9;transition:width var(--dur-3) var(--ease)}
.ck-user-pill{flex:none;font-size:.66rem;font-weight:700;padding:5px 9px;border-radius:999px;background:var(--ck-side);color:var(--ck-ink)}
.ck-user-pill b{font-weight:800}

/* ── ana bölüm ── */
.ck-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
.ck-top{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid transparent;transition:border-color var(--dur-2)}
.ckapp:not(.is-empty) .ck-top{border-bottom-color:var(--ck-line)}
.ck-menu{display:none;width:36px;height:36px;flex:none;border:1px solid var(--ck-line-2);border-radius:10px;background:var(--ck-card);color:var(--ck-ink);cursor:pointer;place-items:center}
.ck-top b{font-size:.86rem;font-weight:700;color:var(--ck-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;border:1px solid var(--ck-line-2);color:var(--ck-muted);flex:none}
.ckapp.is-empty .ck-top b,.ckapp.is-empty .ck-badge{visibility:hidden}

/* ── log + baloncuklar ── */
.ck-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(14px,4vw,64px);scroll-behavior:smooth}
.ckapp.is-empty .ck-log{display:flex;flex-direction:column;justify-content:center;padding-bottom:10px}
.ck-hero{width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.ck-hi{font-size:clamp(1.6rem,3.2vw,2.15rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;background:linear-gradient(100deg,var(--ck-ink) 45%,var(--ck-ink-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ck-sub{max-width:440px;font-size:.9rem;line-height:1.55;color:var(--ck-muted);margin:-4px 0 6px}
.ck-msg{display:flex;gap:12px;margin-bottom:18px;animation:fadeUp var(--dur-2) var(--ease)}
.ck-msg.me{flex-direction:row-reverse}
.ck-ava{width:32px;height:32px;flex:none;border-radius:50%;background:var(--ck-accent);color:var(--ck-accent-ink);display:grid;place-items:center;font-weight:800;font-size:.74rem}
.ck-bub{max-width:min(680px,80%);padding:12px 16px;border-radius:18px;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}
.ck-msg.me .ck-bub{background:var(--ck-accent);color:var(--ck-accent-ink);border-bottom-right-radius:6px}
.ck-msg.ai .ck-bub{background:var(--ck-card);border:1px solid var(--ck-line);color:var(--ck-ink);border-bottom-left-radius:6px}
.ck-msg.ai .ck-bub code{font-family:var(--mono);font-size:.82em;background:var(--ck-soft);padding:2px 6px;border-radius:6px;border:1px solid var(--ck-line)}
.ck-meta{margin:-10px 0 16px 44px;font-size:.68rem;color:var(--ck-faint);display:flex;gap:8px;align-items:center}
.ck-think{color:var(--ck-faint);font-style:italic}
.ck-dots{display:inline-flex;gap:3px;margin-right:6px}
.ck-dots i{width:5px;height:5px;border-radius:50%;background:var(--ck-faint);animation:blink 1.2s infinite}
.ck-dots i:nth-child(2){animation-delay:.15s}.ck-dots i:nth-child(3){animation-delay:.3s}

/* ── input kartı ── */
.ck-bar{flex:none;width:100%;max-width:720px;margin:0 auto;background:var(--ck-card);border:1px solid var(--ck-line-2);border-radius:20px;padding:14px 14px 10px;box-shadow:0 8px 30px -14px rgba(0,0,0,.16);transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.ck-bar:focus-within{border-color:var(--ck-ink-2);box-shadow:var(--ck-ring),0 8px 30px -14px rgba(0,0,0,.16)}
.ckapp.is-empty .ck-bar{box-shadow:0 18px 46px -18px rgba(0,0,0,.22)}
.ck-bar textarea{display:block;width:100%;max-height:180px;resize:none;border:none;outline:none;background:transparent;color:var(--ck-ink);font:inherit;font-size:.92rem;line-height:1.55;padding:2px 4px 10px}
.ck-bar textarea::placeholder{color:var(--ck-faint)}
.ck-bar-row{display:flex;align-items:center;gap:8px}
.ck-hint{flex:1;font-size:.64rem;color:var(--ck-faint);white-space:nowrap;text-align:left}
.ck-hint kbd{font-family:var(--mono);font-size:.6rem;padding:1px 5px;border-radius:5px;border:1px solid var(--ck-line);background:var(--ck-soft);color:var(--ck-muted)}
.ck-model{position:relative}
.ck-model-btn{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ck-ink-2);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1)}
.ck-model-btn:hover{background:var(--ck-soft);border-color:var(--ck-line)}
.ck-model-btn .fa-asterisk{font-size:.66rem;color:var(--ck-ink)}
.ck-chev{font-size:.6rem;color:var(--ck-faint);transition:transform var(--dur-2)}
.ck-model-btn[aria-expanded="true"] .ck-chev{transform:rotate(180deg)}
.ck-model-menu{position:absolute;bottom:calc(100% + 8px);right:0;width:230px;padding:6px;border-radius:14px;border:1px solid var(--ck-line-2);background:var(--ck-card);box-shadow:0 18px 50px -16px rgba(0,0,0,.3);z-index:40;display:flex;flex-direction:column;gap:2px}
.ck-model-menu[hidden]{display:none}
.ck-model-opt{display:flex;flex-direction:column;gap:1px;padding:9px 11px;border:none;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:background var(--dur-1)}
.ck-model-opt:hover{background:var(--ck-soft)}
.ck-model-opt b{font:inherit;font-size:.8rem;font-weight:700;color:var(--ck-ink);display:flex;align-items:center;gap:6px}
.ck-model-opt span{font-size:.68rem;color:var(--ck-muted)}
.ck-model-opt.on b::after{content:"✓";margin-left:auto;font-size:.72rem}
.ck-send{width:38px;height:38px;flex:none;border:none;border-radius:50%;background:var(--ck-accent);color:var(--ck-accent-ink);cursor:pointer;display:grid;place-items:center;font-size:.82rem;transition:transform var(--dur-1),opacity var(--dur-1)}
.ck-send:hover{transform:scale(1.06)}
.ck-send:disabled{opacity:.45;cursor:default;transform:none}

/* ── chip'ler ── */
.ck-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:6px}
.ck-chip{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--ck-line-2);background:var(--ck-card);color:var(--ck-ink-2);font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-1),color var(--dur-1),transform var(--dur-1)}
.ck-chip i{font-size:.76rem;color:var(--ck-muted);transition:color var(--dur-1)}
.ck-chip:hover{border-color:var(--ck-ink);color:var(--ck-ink);transform:translateY(-1px)}
.ck-chip:hover i{color:var(--ck-ink)}

/* ── mobil ── */
@media (max-width:1024px){
  .ck-side{position:fixed;left:0;top:0;bottom:0;z-index:260;transform:translateX(-105%);transition:transform var(--dur-3) var(--ease);box-shadow:0 0 60px rgba(0,0,0,.25);width:280px}
  body.sb-open .ck-side{transform:translateX(0)}
  .ck-menu{display:grid}
  .ckapp.is-empty .ck-top > b{visibility:visible}
  .ckapp.is-empty .ck-top{border-bottom-color:transparent}
  .ck-hint{display:none}
  .ck-bub{max-width:88%}
  .ck-log{padding:18px 14px}
  .ck-meta{margin-left:6px}
}

/* ============================================================
   32. shadcn UI Kit katmanı — shadcnuikit.com klonu
   zinc paleti + mor vurgu + siyah butonlar + Inter + ince kenarlı
   beyaz çerçeve: üst header + solda panel + içerik
   ============================================================ */
:root{
  --bg:#f4f4f2; --surface:#ffffff; --surface-2:#fafafa; --soft:#f5f5f4;
  --ink:#09090b; --ink-2:#3f3f46; --txt:#27272a; --muted:#71717a; --faint:#a1a1aa;
  --line:#e7e7e5; --line-2:#dcdcda;
  --accent:#7c3aed; --accent-soft:#f1e9ff;
  --grad:linear-gradient(135deg,#7c3aed 0%,#a855f7 55%,#d946ef 100%);
  --grad-soft:linear-gradient(135deg,rgba(124,58,237,.1),rgba(217,70,239,.1));
  --side:#ffffff; --side-ink:#3f3f46; --side-muted:#71717a; --side-on:#09090b; --side-line:#e7e7e5;
  --glow:0 0 0 0 rgba(0,0,0,0);
  --shadow-1:0 1px 2px rgba(0,0,0,.04);
  --shadow-2:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.12);
  --shadow-3:0 24px 60px -24px rgba(0,0,0,.25);
  --font:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
[data-theme="dark"]{
  --bg:#0a0a0b; --surface:#131316; --surface-2:#18181b; --soft:#1f1f23;
  --ink:#fafafa; --ink-2:#d4d4d8; --txt:#e4e4e7; --muted:#a1a1aa; --faint:#71717a;
  --line:#232327; --line-2:#2e2e33;
  --accent:#8b5cf6; --accent-soft:#2a2140;
  --side:#131316; --side-ink:#d4d4d8; --side-muted:#a1a1aa; --side-on:#fafafa; --side-line:#232327;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.6);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="dark"]):not([data-theme="light"]){} }

/* ── üst header ── */
.sh-head{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80}
.sh-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem;letter-spacing:-.01em}
.sh-logo{width:30px;height:30px;flex:none;border-radius:9px;background:#0a0a0a;color:#fff;display:grid;place-items:center;font-size:.75rem}
[data-theme="dark"] .sh-logo{background:#fafafa;color:#0a0a0b}
.sh-chev{font-size:.58rem;color:var(--faint)}
.sh-vsep{width:1px;height:22px;background:var(--line-2);flex:none;margin:0 2px}
.sh-ico{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;background:transparent;border:none;color:var(--ink-2);cursor:pointer;font-size:.88rem;position:relative;transition:background var(--dur-1),color var(--dur-1)}
.sh-ico:hover{background:var(--soft);color:var(--ink)}
.sh-search{flex:0 1 360px;display:flex;align-items:center;gap:9px;height:36px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--faint);cursor:text;transition:border-color var(--dur-1)}
.sh-search:focus-within{border-color:var(--ink)}
.sh-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:.85rem;color:var(--ink)}
.sh-search input::placeholder{color:var(--faint)}
.sh-search kbd{font-family:var(--mono);font-size:.62rem;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--muted)}
.sh-right{margin-left:auto;display:flex;align-items:center;gap:5px}
.sh-pro{color:var(--accent);font-weight:650;font-size:.85rem;text-decoration:none;padding:7px 11px;border-radius:9px;transition:background var(--dur-1)}
.sh-pro:hover{background:var(--accent-soft)}
.sh-bal{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);font-size:.76rem;text-decoration:none;background:var(--surface)}
.sh-bal b{font-weight:700;color:var(--ink)}
.sh-bell .sh-dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:#ef4444;border:1.5px solid var(--surface)}
.sh-ava{width:32px;height:32px;flex:none;border-radius:50%;background:linear-gradient(135deg,#f2b8cf,#b48ef7);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.78rem;text-decoration:none;margin-left:5px}

/* ── çerçeve: panel sayfaları beyaz kart ── */
.dash,.pj,.adm-shell{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-1)}
.dash{align-items:stretch;gap:0;padding:0;overflow:hidden}
.dash:has(.chat-mode){padding:0}
.d-main{padding:18px 20px}
.d-main.chat-mode{padding:0}
@media (min-width:1025px) and (min-height:600px){
  .dash,.pj,.adm-shell{height:calc(100dvh - 80px);margin:12px auto}
  .d-main.chat-mode{height:100%}
}

/* ── sidebar — shadcn stili ── */
.dside{position:sticky;top:12px;width:264px;flex:none;background:transparent;border:none;border-right:1px solid var(--line);border-radius:0;
  backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:14px 10px 12px;display:flex;flex-direction:column;gap:2px;
  max-height:none;overflow-y:auto}
.dside .brand{display:none}
.d-group{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-weight:650;padding:14px 10px 5px}
.d-item{border-radius:9px;padding:8px 10px;font-weight:500;color:var(--side-ink);gap:10px;font-size:.875rem}
.d-item i{width:18px;font-size:.85rem;opacity:.85}
.d-item:hover{background:var(--soft);color:var(--ink);transform:none}
.d-item.has-sub::after{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:auto;font-size:.72rem;color:var(--faint)}
.d-item.on{background:var(--soft);color:var(--ink);box-shadow:none}
.d-item.on i{color:var(--accent);opacity:1}
.d-item.on::before{display:none}
.sh-promo{margin:14px 2px 0;background:var(--soft);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.sh-promo b{font-size:.84rem;color:var(--ink);letter-spacing:-.01em}
.sh-promo p{font-size:.72rem;line-height:1.55;color:var(--muted);margin:0}
.sh-promo-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#0a0a0a;color:#fff;border:none;border-radius:9px;padding:9px 10px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;width:100%;margin-top:2px;transition:background var(--dur-1)}
.sh-promo-btn:hover{background:#27272a}
[data-theme="dark"] .sh-promo-btn{background:#fafafa;color:#0a0a0b}
[data-theme="dark"] .sh-promo-btn:hover{background:#d4d4d8}
.sh-gdot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex:none}
.side-foot{flex-shrink:0;margin:12px -2px 0;padding:12px 2px 2px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}
.side-user{flex:1;min-width:0;display:flex;flex-direction:column}
.side-user b{font-size:.8rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-user .muted{font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d-ava{border-radius:50%;background:#0a0a0a;color:#fff;box-shadow:none}
[data-theme="dark"] .d-ava{background:#fafafa;color:#0a0a0b}
.d-ava.sm{width:32px;height:32px;font-size:.76rem;border-radius:50%}
.side-ctl{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);text-decoration:none;font-size:.82rem}
.side-ctl:hover{background:var(--soft);color:var(--ink)}

/* ── buton / input / kart dili ── */
.btn.solid,.btn-grad{background:#0a0a0a;box-shadow:none}
[data-theme="dark"] .btn.solid,[data-theme="dark"] .btn-grad{background:#fafafa;color:#0a0a0b}
.btn.solid:hover,.btn-grad:hover{filter:none;transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(0,0,0,.45)}
.btn.ghost:hover{border-color:var(--line-2);background:var(--soft);color:var(--ink);transform:none;box-shadow:none}
.in:hover{border-color:#b1b1ae}
.in:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(124,58,237,.14)}
[data-theme="dark"] .in:focus{border-color:#e4e4e7}
.card::before{display:none}
.card{box-shadow:none}
.card:hover{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pill.blue{background:var(--accent-soft);color:var(--accent)}
.topnav .btn.solid{box-shadow:none}

/* ── chat paneli — ai-chat-v2 klonu ── */
.ckapp{
  --ck-bg:#fafafa; --ck-side:#ffffff; --ck-card:#ffffff;
  --ck-ink:#09090b; --ck-ink-2:#3f3f46; --ck-muted:#71717a; --ck-faint:#a1a1aa;
  --ck-line:#e7e7e5; --ck-line-2:#dcdcda; --ck-soft:#f5f5f4; --ck-soft-2:#ececeb;
  --ck-accent:#0a0a0a; --ck-accent-ink:#ffffff;
  --ck-violet:#7c3aed;
  display:flex;width:100%;margin:0;height:100%;min-height:0;overflow:hidden;
  border:none;border-radius:0;box-shadow:none;background:var(--ck-bg);
}
[data-theme="dark"] .ckapp{
  --ck-bg:#0e0e10; --ck-side:#131316; --ck-card:#18181b;
  --ck-ink:#fafafa; --ck-ink-2:#d4d4d8; --ck-muted:#a1a1aa; --ck-faint:#71717a;
  --ck-line:#232327; --ck-line-2:#2e2e33; --ck-soft:#1f1f23; --ck-soft-2:#26262b;
  --ck-accent:#fafafa; --ck-accent-ink:#09090b;
  --ck-violet:#a78bfa;
}
body:has(.ckapp){background:var(--bg)}
.ck-side{width:288px;flex:none;display:flex;flex-direction:column;gap:10px;padding:14px 12px;background:var(--ck-side);border-right:1px solid var(--ck-line)}
.ck-brand,.ck-word,.ck-ico-btn{display:none}
.ck-search{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;border:1px solid var(--ck-line-2);background:var(--ck-card);color:var(--ck-faint);flex:none;transition:border-color var(--dur-1)}
.ck-search:focus-within{border-color:var(--ck-ink-2)}
.ck-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--ck-ink);font:inherit;font-size:.84rem}
.ck-search input::placeholder{color:var(--ck-faint)}
.ck-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px;display:flex;flex-direction:column;gap:2px}
.ck-label,.ck-navlink{display:none}
.ck-group{display:flex;flex-direction:column;gap:1px;padding-bottom:8px}
.ck-group-t{font-size:.72rem;font-weight:500;color:var(--ck-faint);padding:10px 10px 5px}
.ck-convo{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;color:var(--ck-ink-2);font-size:.84rem;cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.ck-convo .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-convo:hover{background:var(--ck-soft);color:var(--ck-ink)}
.ck-convo.on{background:var(--ck-soft);color:var(--ck-ink);font-weight:600}
.ck-del{opacity:0;border:none;background:none;color:var(--ck-faint);cursor:pointer;padding:2px 5px;border-radius:6px;font-size:.78rem;transition:opacity var(--dur-1)}
.ck-convo:hover .ck-del{opacity:.8}
.ck-del:hover{opacity:1;color:var(--ck-ink)}
.ck-none{padding:10px;font-size:.78rem;color:var(--ck-faint)}
.ck-new{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;flex:none;padding:11px 12px;border-radius:10px;border:none;background:var(--ck-accent);color:var(--ck-accent-ink);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:opacity var(--dur-1),transform var(--dur-1)}
.ck-new:hover{transform:translateY(-1px);opacity:.92}
.ck-user,.ck-user-ava,.ck-user-meta,.ck-user-pill,.ck-user-bar{display:none}
.ck-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;background:var(--ck-bg)}
.ck-top{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid transparent}
.ckapp:not(.is-empty) .ck-top{border-bottom-color:var(--ck-line)}
.ck-menu{display:none;width:34px;height:34px;flex:none;border:1px solid var(--ck-line-2);border-radius:9px;background:var(--ck-card);color:var(--ck-ink);cursor:pointer;place-items:center;font-size:.85rem}
.ck-top > b{font-size:.86rem;font-weight:600;color:var(--ck-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.ck-badge{flex:none;font-size:.68rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--ck-line-2);color:var(--ck-muted)}
.ck-badge b{font-weight:700;color:var(--ck-ink)}
.ckapp.is-empty .ck-top{border-bottom-color:transparent}
.ckapp.is-empty .ck-top .ck-badge{visibility:visible}
.ckapp.is-empty .ck-top > b{visibility:hidden}
.ck-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(14px,4vw,64px);scroll-behavior:smooth}
.ckapp.is-empty .ck-log{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:12px}
.ck-hero{width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.ck-orb{width:104px;height:104px;border-radius:50%;flex:none;margin-bottom:30px;
  background:
    radial-gradient(circle at 30% 26%, #ffe9d8 0%, #fdd3c1 20%, rgba(253,211,193,0) 46%),
    radial-gradient(circle at 70% 76%, #a883f2 0%, rgba(168,131,242,0) 58%),
    radial-gradient(circle at 48% 46%, #f0bcd2 0%, #d9a9ec 62%, #b18cf5 100%);
  box-shadow:inset -10px -14px 26px rgba(122,80,194,.28), inset 8px 10px 20px rgba(255,255,255,.6), 0 22px 44px -20px rgba(168,131,242,.65)}
.ck-hi{font-size:clamp(1.45rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--ck-ink);margin:0}
.ck-hi2{font-size:clamp(1.45rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--ck-ink);margin:0 0 30px}
.ck-hi2 span{background:linear-gradient(90deg,#8b5cf6,#c084fc,#d946ef);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="dark"] .ck-hi2 span{background:linear-gradient(90deg,#a78bfa,#c084fc,#e879f9);-webkit-background-clip:text;background-clip:text}
.ck-sub{display:none}
.ck-wrap{width:100%;max-width:620px;margin:0 auto;background:var(--ck-soft);border:1px solid var(--ck-line);border-radius:16px;padding:7px;text-align:left}
.ckapp.is-empty .ck-wrap{box-shadow:0 1px 2px rgba(0,0,0,.03)}
.ck-strip{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--ck-muted);padding:6px 8px 9px}
.ck-strip i{color:var(--ck-violet);font-size:.66rem}
.ck-strip b{color:var(--ck-ink);font-weight:700}
.ck-strip a{color:var(--ck-violet);font-weight:650;text-decoration:none;margin-left:2px}
.ck-strip a:hover{text-decoration:underline}
.ck-bar{flex:none;width:100%;max-width:none;margin:0;background:var(--ck-card);border:1px solid var(--ck-line);border-radius:12px;padding:12px 12px 8px;box-shadow:none}
.ck-bar:focus-within{border-color:var(--ck-ink-2);box-shadow:none}
.ckapp.is-empty .ck-bar{box-shadow:none}
.ck-bar textarea{display:block;width:100%;max-height:180px;resize:none;border:none;outline:none;background:transparent;color:var(--ck-ink);font:inherit;font-size:.9rem;line-height:1.55;padding:2px 4px 10px}
.ck-bar textarea::placeholder{color:var(--ck-faint)}
.ck-bar-row{display:flex;align-items:center;gap:8px}
.ck-hint{display:none}
.ck-deco{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;color:var(--ck-muted);font-size:.84rem;cursor:default;background:transparent;border:none}
.ck-mic{margin-left:auto}
.ck-model{position:relative}
.ck-model-btn{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--ck-line-2);background:var(--ck-card);color:var(--ck-ink);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1)}
.ck-model-btn:hover{background:var(--ck-soft)}
.ck-model-btn .fa-asterisk{font-size:.62rem;color:var(--ck-violet)}
.ck-chev{font-size:.58rem;color:var(--ck-faint);transition:transform var(--dur-2)}
.ck-model-btn[aria-expanded="true"] .ck-chev{transform:rotate(180deg)}
.ck-model-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:auto;width:230px;padding:6px;border-radius:12px;border:1px solid var(--ck-line-2);background:var(--ck-card);box-shadow:0 16px 44px -16px rgba(0,0,0,.28);z-index:40;display:flex;flex-direction:column;gap:2px}
.ck-model-menu[hidden]{display:none}
.ck-model-opt{display:flex;flex-direction:column;gap:1px;padding:9px 11px;border:none;border-radius:9px;background:transparent;text-align:left;cursor:pointer;transition:background var(--dur-1)}
.ck-model-opt:hover{background:var(--ck-soft)}
.ck-model-opt b{font:inherit;font-size:.8rem;font-weight:600;color:var(--ck-ink);display:flex;align-items:center;gap:6px}
.ck-model-opt span{font-size:.68rem;color:var(--ck-muted)}
.ck-model-opt.on b::after{content:"✓";margin-left:auto;font-size:.72rem;color:var(--ck-violet)}
.ck-send{width:36px;height:36px;flex:none;border:none;border-radius:50%;background:var(--ck-accent);color:var(--ck-accent-ink);cursor:pointer;display:grid;place-items:center;font-size:.8rem;transition:transform var(--dur-1),opacity var(--dur-1)}
.ck-send:hover{transform:scale(1.06)}
.ck-send:disabled{opacity:.45;cursor:default;transform:none}
.ck-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:22px}
.ck-chip{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--ck-line-2);background:var(--ck-card);color:var(--ck-ink-2);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-1),color var(--dur-1),transform var(--dur-1)}
.ck-chip i{font-size:.74rem;color:var(--ck-muted);transition:color var(--dur-1)}
.ck-chip:hover{border-color:var(--ck-ink);color:var(--ck-ink);transform:translateY(-1px)}
.ck-chip:hover i{color:var(--ck-ink)}
.ck-msg{display:flex;gap:12px;margin-bottom:18px;animation:fadeUp var(--dur-2) var(--ease)}
.ck-msg.me{flex-direction:row-reverse}
.ck-ava{width:30px;height:30px;flex:none;border-radius:50%;background:var(--ck-accent);color:var(--ck-accent-ink);display:grid;place-items:center;font-weight:700;font-size:.72rem}
.ck-bub{max-width:min(680px,80%);padding:11px 15px;border-radius:16px;font-size:.88rem;line-height:1.6;overflow-wrap:anywhere}
.ck-msg.me .ck-bub{background:var(--ck-accent);color:var(--ck-accent-ink);border-bottom-right-radius:6px}
.ck-msg.ai .ck-bub{background:var(--ck-card);border:1px solid var(--ck-line);color:var(--ck-ink);border-bottom-left-radius:6px}
.ck-msg.ai .ck-bub code{font-family:var(--mono);font-size:.82em;background:var(--ck-soft);padding:2px 6px;border-radius:6px;border:1px solid var(--ck-line)}
.ck-meta{margin:-10px 0 16px 42px;font-size:.68rem;color:var(--ck-faint);display:flex;gap:8px;align-items:center}
.ck-think{color:var(--ck-faint);font-style:italic}
.ck-dots{display:inline-flex;gap:3px;margin-right:6px}
.ck-dots i{width:5px;height:5px;border-radius:50%;background:var(--ck-faint);animation:blink 1.2s infinite}
.ck-dots i:nth-child(2){animation-delay:.15s}.ck-dots i:nth-child(3){animation-delay:.3s}
.ck-scrim{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:250;opacity:0;pointer-events:none;transition:opacity var(--dur-2)}
.ck-scrim.on{opacity:1;pointer-events:auto}

/* ── mobil ── */
@media (max-width:1024px){
  .sh-search{flex:1 1 auto;min-width:0}
  .sh-pro{display:none}
  .dside{position:fixed;left:0;top:0;bottom:0;height:100dvh;max-height:none;z-index:260;width:280px;background:var(--surface);border-radius:0 14px 14px 0;border-right:1px solid var(--line);transform:translateX(-105%);transition:transform var(--dur-3) var(--ease);box-shadow:0 0 60px rgba(0,0,0,.25)}
  body.sb-open .dside{transform:translateX(0)}
  .dash,.pj,.adm-shell{width:calc(100% - 24px);margin:12px auto;gap:0}
  .d-main{padding:14px}
  .d-main.chat-mode{padding:0;height:calc(100dvh - 56px - 24px);overflow:hidden;display:flex;flex-direction:column}
  .ck-menu{display:grid}
  .ck-side{position:fixed;left:0;top:0;bottom:0;z-index:260;width:290px;transform:translateX(-105%);transition:transform var(--dur-3) var(--ease);box-shadow:0 0 60px rgba(0,0,0,.3);border-radius:0 14px 14px 0}
  .ck-side.open{transform:translateX(0)}
  .ckapp.is-empty .ck-top > b{visibility:visible}
  .ck-bub{max-width:88%}
  .ck-log{padding:18px 14px}
  .ck-meta{margin-left:6px}
  .ck-deco{display:none}
}
@media (max-width:768px){
  .sh-head{padding:0 10px;gap:8px}
  .sh-brand b{display:none}
  .sh-vsep{display:none}
  .dash{width:100%;margin:0;border-radius:0;border:none}
}

/* ============================================================
   33. shadcn etkileşim katmanı — dropdown, komut paleti, profil,
   bildirimler + modern animasyonlar + proje paneli uyarlaması
   ============================================================ */

/* ── yumuşak tema geçişi ── */
html.jd-theming body, html.jd-theming body *{transition:background-color .28s ease,color .28s ease,border-color .28s ease !important}

/* ── sayfa giriş animasyonları ── */
@keyframes popIn{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.app-shell .card,.app-shell .pf-card,.app-shell .nf-card{animation:slideUp .35s var(--ease) both}
.app-shell .card:nth-child(2),.app-shell .pf-grid .card:nth-child(2){animation-delay:.06s}
.app-shell .card:nth-child(3){animation-delay:.12s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}

/* ── header dropdown'ları ── */
.sh-dd{position:relative}
.sh-dot{position:absolute;top:6px;right:7px;min-width:15px;height:15px;border-radius:999px;background:#ef4444;border:1.5px solid var(--surface);color:#fff;font-size:.56rem;font-weight:700;display:grid;place-items:center;padding:0 3px;line-height:1}
.sh-pop{position:absolute;top:calc(100% + 10px);right:0;width:330px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 20px 50px -18px rgba(0,0,0,.3);z-index:120;overflow:hidden;animation:popIn .18s var(--ease) both}
.sh-pop-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.sh-pop-head b{font-size:.86rem;color:var(--ink)}
.sh-pop-act{border:none;background:none;color:var(--accent);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;padding:3px 6px;border-radius:6px}
.sh-pop-act:hover{background:var(--accent-soft)}
.sh-pop-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 14px;color:var(--faint);font-size:.78rem}
.sh-pop-empty i{font-size:1.2rem}
.sh-pop-foot{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-top:1px solid var(--line);color:var(--ink-2);font-size:.76rem;font-weight:600;text-decoration:none;transition:background var(--dur-1)}
.sh-pop-foot:hover{background:var(--soft);color:var(--ink)}
.sh-pop-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:none;background:none;color:var(--ink-2);font:inherit;font-size:.82rem;text-decoration:none;cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.sh-pop-item i{width:17px;text-align:center;color:var(--muted);font-size:.85rem}
.sh-pop-item:hover{background:var(--soft);color:var(--ink)}
.sh-pop-item.danger{color:var(--err)}
.sh-pop-item.danger i{color:var(--err)}
.sh-pop-item.danger:hover{background:var(--err-soft)}
.sh-pop-badge{margin-left:auto;background:var(--err);color:#fff;font-size:.62rem;font-weight:700;padding:1px 7px;border-radius:999px}
.sh-pop-sep{height:1px;background:var(--line);margin:5px 0}
.pf-pop{width:250px}
.pf-pop-head{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line);margin-bottom:5px}
.pf-pop-head b{display:block;font-size:.82rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.pf-pop-head span{display:block;font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
/* bildirim mini liste */
.nf-pop{width:360px}
.nf-mini{max-height:380px;overflow-y:auto;overscroll-behavior:contain}
.nf-mini-item{display:flex;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:background var(--dur-1)}
.nf-mini-item:last-child{border-bottom:none}
.nf-mini-item:hover{background:var(--soft)}
.nf-mini-item.unread{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.nf-mini-item.unread:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.nf-ic{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:.78rem}
.nf-ic.ok{background:var(--ok-soft);color:var(--ok)}
.nf-ic.warn{background:var(--warn-soft);color:var(--warn)}
.nf-ic.info{background:var(--accent-soft);color:var(--accent)}
.nf-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nf-b b{font-size:.78rem;font-weight:600;color:var(--ink);line-height:1.35}
.nf-b span{font-size:.7rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nf-b time{font-size:.62rem;color:var(--faint)}
.nf-pt{width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent);position:absolute;right:12px;top:14px}
/* bildirimler sayfası */
.nf-card{padding:0;overflow:hidden}
.nf-item{display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:background var(--dur-1)}
.nf-item:last-child{border-bottom:none}
.nf-item:hover{background:var(--soft)}
.nf-item.unread{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.nf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nf-body b{font-size:.84rem;font-weight:600;color:var(--ink)}
.nf-txt{font-size:.76rem;color:var(--muted)}
.nf-time{font-size:.66rem;color:var(--faint);flex:none}
.nf-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--accent)}
.nf-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:46px 20px;color:var(--faint);text-align:center}
.nf-empty i{font-size:1.6rem}
.nf-empty p{max-width:340px;font-size:.8rem;line-height:1.6;margin:0}

/* ── profil sayfası ── */
.pf-grid{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
@media (max-width:900px){.pf-grid{grid-template-columns:1fr}}
.pf-card{padding:22px}
.pf-head{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pf-ava{width:52px;height:52px;font-size:1.3rem;border-radius:50%}
.pf-name{font-size:1rem;color:var(--ink);display:block}
.pf-head .pill{margin-left:auto}
.pf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}
.pf-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;text-decoration:none;background:var(--soft)}
.pf-stat b{font-size:1.02rem;color:var(--ink);letter-spacing:-.02em}
.pf-stat span{font-size:.64rem;color:var(--muted);font-weight:600}
a.pf-stat:hover b{color:var(--accent)}
.pf-meta{display:flex;flex-direction:column;gap:10px;padding-top:16px}
.pf-meta>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pf-meta b{font-size:.8rem;color:var(--ink)}
.pf-form{display:flex;gap:10px;align-items:center}
.pf-form.col{flex-direction:column;align-items:stretch}
.pf-msg{display:none;font-size:.74rem;margin-top:8px;padding:7px 10px;border-radius:8px}
.pf-msg.ok{display:block;background:var(--ok-soft);color:var(--ok)}
.pf-msg.err{display:block;background:var(--err-soft);color:var(--err)}

/* ── komut paleti (⌘K) ── */
.cmdk{position:fixed;inset:0;z-index:300;background:rgba(9,9,11,.45);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:15vh 16px 16px;animation:fadeIn .15s ease both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.cmdk[hidden]{display:none}
.cmdk-box{width:100%;max-width:560px;border-radius:16px;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 30px 80px -20px rgba(0,0,0,.45);overflow:hidden;animation:popIn .2s var(--ease) both}
.cmdk-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cmdk-in i{color:var(--faint);font-size:.85rem}
.cmdk-in input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:.95rem;color:var(--ink)}
.cmdk-in input::placeholder{color:var(--faint)}
.cmdk-in kbd{font-family:var(--mono);font-size:.6rem;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--muted)}
.cmdk-list{max-height:320px;overflow-y:auto;padding:7px}
.cmdk-g{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:10px 10px 5px}
.cmdk-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:none;border-radius:9px;background:none;color:var(--ink-2);font:inherit;font-size:.85rem;cursor:pointer;text-align:left;transition:background var(--dur-1)}
.cmdk-item i{width:17px;text-align:center;color:var(--muted);font-size:.85rem}
.cmdk-item.on{background:var(--soft);color:var(--ink)}
.cmdk-item.on i{color:var(--accent)}
.cmdk-go{margin-left:auto;font-size:.7rem;color:var(--faint);opacity:0;transition:opacity var(--dur-1)}
.cmdk-item.on .cmdk-go{opacity:1}
.cmdk-none{padding:22px;text-align:center;font-size:.8rem;color:var(--faint)}
.cmdk-foot{display:flex;gap:14px;padding:9px 15px;border-top:1px solid var(--line);color:var(--faint);font-size:.64rem}
.cmdk-foot kbd{font-family:var(--mono);padding:1px 5px;border:1px solid var(--line);border-radius:5px;background:var(--soft);font-size:.58rem;margin-right:2px}

/* ── arama butonu (header) ── */
.sh-search{cursor:pointer;font:inherit;border:1px solid var(--line-2);background:var(--surface)}
.sh-search span{flex:1;text-align:left;font-size:.84rem;color:var(--faint)}
.sh-search:hover{border-color:#b1b1ae}

/* ── mikro animasyonlar ── */
.sh-pop,.cmdk-box{will-change:transform,opacity}
.d-item{transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.btn,.ck-chip,.ck-model-btn,.sh-ico,.sh-ava,.side-ctl{transition:transform .16s var(--ease),background var(--dur-1),border-color var(--dur-1),color var(--dur-1),box-shadow var(--dur-2)}
.ck-send:hover{transform:scale(1.08) !important}
.tbl-search input{transition:border-color var(--dur-1),box-shadow var(--dur-1)}

/* ── proje paneli (pj) — shadcn uyumu ── */
.pj{align-items:stretch;gap:0;overflow:hidden}
.pjside{position:sticky;top:12px;width:250px;flex:none;background:transparent;border:none;border-right:1px solid var(--line);border-radius:0;
  backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:14px 10px 12px;max-height:none}
.pj-nav .d-item,.pjside .d-item{border-radius:9px;padding:8px 10px;font-weight:500;font-size:.875rem}
.pjside .d-item.on{background:var(--soft);color:var(--ink);box-shadow:none}
.pjside .d-item.on::before{display:none}
.pjside .d-item.on i{color:var(--accent)}
@media (max-width:1024px){
  .pjside{position:fixed;left:0;top:0;bottom:0;height:100dvh;max-height:none;z-index:260;width:270px;background:var(--surface);border-radius:0 14px 14px 0;border-right:1px solid var(--line);transform:translateX(-105%);transition:transform var(--dur-3) var(--ease);box-shadow:0 0 60px rgba(0,0,0,.25)}
  body.sb-open .pjside{transform:translateX(0)}
  .pj{height:auto}
}
.sh-bell .sh-dot{width:auto;min-width:15px;height:15px;top:4px;right:5px;padding:0 3px;font-size:.56rem;color:#fff;display:grid;place-items:center;line-height:1}

/* ─── L34: proje paneli sidebar'ını shadcn d-item stiline oturt (gerçek class'lar: .pjt/.pj-group/.pj-back) ─── */
.pjside .pj-group{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-weight:650;padding:14px 10px 5px}
.pjside .pj-back{border-radius:9px;padding:8px 10px;font-weight:500;font-size:.875rem;color:var(--side-ink);gap:10px;background:transparent;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.pjside .pj-back:hover{background:var(--soft);color:var(--ink);transform:none}
.pjside .pjt{border-radius:9px;padding:8px 10px;font-weight:500;font-size:.875rem;color:var(--side-ink);gap:10px;transform:none;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.pjside .pjt i{width:18px;text-align:center;font-size:.875rem;opacity:.85}
.pjside .pjt:hover{background:var(--soft);color:var(--ink);transform:none}
.pjside .pjt:hover i{opacity:1}
.pjside .pjt.on{background:var(--soft);color:var(--ink);box-shadow:none}
.pjside .pjt.on::before{display:none}
.pjside .pjt.on i{color:var(--accent);opacity:1}

/* ════════ L35: shadcnuikit BİREBİR — primary siyah, bg beyaz, DM Sans ════════ */
:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#fafafa; --soft:#f5f5f5;
  --ink:#0a0a0a; --ink-2:#262626; --txt:#171717; --muted:#71717a; --faint:#a1a1aa;
  --line:#e5e5e5; --line-2:#d4d4d8;
  --accent:#171717; --accent-soft:#f5f5f5;
  --grad:linear-gradient(135deg,#171717 0%,#404040 100%);
  --grad-soft:linear-gradient(135deg,rgba(23,23,23,.06),rgba(23,23,23,.03));
  --side:#ffffff; --side-ink:#404040; --side-muted:#a1a1aa; --side-on:#0a0a0a; --side-line:#e5e5e5;
  --glow:0 0 0 0 rgba(0,0,0,0);
  --ring-c:#a1a1aa;
  --font:'DM Sans','Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
[data-theme="dark"]{
  --bg:#0a0a0a; --surface:#0a0a0a; --surface-2:#171717; --soft:#262626;
  --ink:#fafafa; --ink-2:#d4d4d8; --txt:#e5e5e5; --muted:#a1a1aa; --faint:#71717a;
  --line:rgba(255,255,255,.1); --line-2:rgba(255,255,255,.16);
  --accent:#fafafa; --accent-soft:#262626;
  --grad:linear-gradient(135deg,#fafafa 0%,#a1a1aa 130%);
  --side:#0a0a0a; --side-ink:#d4d4d8; --side-muted:#71717a; --side-on:#fafafa; --side-line:rgba(255,255,255,.1);
}
html,body{background:var(--bg)}

/* ── Get Pro: animasyonlu gradient yazı (marketing link gibi) ── */
.sh-pro{background:none!important;border:none!important;box-shadow:none!important;padding:4px 6px!important;font-weight:600;font-size:.84rem;
  background:linear-gradient(90deg,#9333ea,#c026d3,#0891b2,#9333ea)!important;
  background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  animation:jdGradSlide 5s linear infinite}
@keyframes jdGradSlide{0%{background-position:0% 50%}100%{background-position:300% 50%}}

/* ── içeriğindeki linkler: siyah, hover underline (shadcn) ── */
.d-main p a,.ck-bub p a,.page-head a,.card a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;transition:text-decoration-color var(--dur-1)}
.d-main p a:hover,.ck-bub p a:hover,.page-head a:hover,.card a:hover{text-decoration-color:var(--ink)}

/* ── nav aktif: gri zemin + siyah ikon ── */
.d-item.on i,.pjt.on i,.d-item.on,.pjt.on{color:var(--ink)}
.d-side .d-item.on i,.dside .d-item.on i{color:var(--ink)}

/* ════════ CHAT: baloncuklar ════════ */
.ckapp .ck-log{max-width:768px;margin:0 auto;width:100%;padding:26px 22px 10px;display:flex;flex-direction:column;gap:18px}
.ckapp .ck-msg{display:block;width:100%;animation:slideUp .3s var(--ease) both}
.ckapp .ck-msg .ck-ava{display:none!important}
.ckapp .ck-bub{border:none!important;background:var(--soft)!important;color:var(--txt);border-radius:16px;padding:18px 22px;font-size:.95rem;line-height:1.7;box-shadow:none!important;width:100%;overflow-wrap:break-word}
.ckapp .ck-msg.me{display:flex;flex-direction:row;justify-content:flex-end}
.ckapp .ck-msg.me .ck-bub{background:var(--accent)!important;color:#fafafa;width:auto;max-width:78%;border-radius:18px 18px 4px 18px}
.ckapp .ck-msg.ai .ck-bub{border-radius:16px}
.ckapp .ck-bub p{margin:0 0 10px}
.ckapp .ck-bub p:last-child{margin-bottom:0}
.ckapp .ck-bub b{font-weight:700;color:var(--ink)}
.ckapp .ck-msg.me .ck-bub b{color:#fff}
.ckapp .ck-bub i{font-style:italic}
.ckapp .ck-bub .ck-h{font-weight:700;color:var(--ink);font-size:1.02rem;margin:14px 0 6px}
.ckapp .ck-bub .ck-h:first-child{margin-top:0}
.ckapp .ck-bub .ck-h2{font-size:1.08rem}
.ckapp .ck-bub .ck-h1{font-size:1.16rem}
.ckapp .ck-bub .ck-list{margin:2px 0 10px;padding-left:22px;display:block}
.ckapp .ck-bub ul.ck-list{list-style:disc}
.ckapp .ck-bub ol.ck-list{list-style:decimal}
.ckapp .ck-bub li{margin:3px 0}
.ckapp .ck-bub .ck-hr{border:none;border-top:1px solid var(--line);margin:12px 0}
.ckapp .ck-bub a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}
.ckapp .ck-bub a:hover{text-decoration-color:var(--ink)}
.ckapp .ck-bub .ck-icode{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.82em;background:rgba(23,23,23,.07);border:1px solid var(--line);border-radius:6px;padding:2px 6px;color:var(--ink)}
[data-theme="dark"] .ckapp .ck-bub .ck-icode{background:rgba(255,255,255,.08)}
.ckapp .ck-msg.me .ck-bub .ck-icode{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2);color:#fff}

/* ── kod bloğu: koyu, rounded, syntax renkleri ── */
.ckapp .ck-code{background:#1e1e22;color:#e8e8ec;border-radius:12px;margin:12px 0;overflow:hidden;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace}
.ckapp .ck-code-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.07);font-size:.68rem;color:#8f8f9d}
.ckapp .ck-code-copy{display:flex;align-items:center;gap:5px;background:none;border:none;color:#8f8f9d;font:inherit;font-size:.68rem;cursor:pointer;padding:2px 4px;border-radius:6px;transition:color var(--dur-1),background var(--dur-1)}
.ckapp .ck-code-copy:hover{color:#e8e8ec;background:rgba(255,255,255,.08)}
.ckapp .ck-code pre{margin:0;padding:14px 16px;overflow-x:auto;font-size:.8rem;line-height:1.65}
.ckapp .ck-code code{font-family:inherit;background:none;color:#e8e8ec}
.ckapp .ck-code .tok-k{color:#ff9557}
.ckapp .ck-code .tok-f{color:#82aaff}
.ckapp .ck-code .tok-s{color:#ffcb6b}
.ckapp .ck-code .tok-n{color:#c792ea}
.ckapp .ck-code .tok-c{color:#6b7280;font-style:italic}

/* ── aksiyon satırı: kopyala / beğen / beğenme ── */
.ckapp .ck-acts{display:flex;gap:4px;margin-top:6px;opacity:1}
.ckapp .ck-acts button{width:30px;height:30px;border:none;background:transparent;color:var(--faint);border-radius:8px;cursor:pointer;display:grid;place-items:center;font-size:.8rem;transition:background var(--dur-1),color var(--dur-1)}
.ckapp .ck-acts button:hover{background:var(--soft);color:var(--ink)}
.ckapp .ck-acts button.on{color:var(--ink)}
.ckapp .ck-acts button.done{color:#16a34a}

/* ── meta satırı ── */
.ckapp .ck-meta{font-size:.7rem;color:var(--faint);padding:0 4px;margin-top:-10px}
.ckapp .ck-err{color:#dc2626}

/* ════════ CHAT: input dock (bg-primary/10 → içi beyaz kart) ════════ */
.ckapp .ck-dock{background:rgba(23,23,23,.1);border-radius:16px;padding:0 4px 4px;max-width:768px;margin:14px auto 0;width:calc(100% - 44px)}
[data-theme="dark"] .ckapp .ck-dock{background:rgba(255,255,255,.1)}
.ckapp .ck-upgrade{display:flex;gap:6px;align-items:center;padding:9px 14px;font-size:.72rem;color:var(--ink-2)}
.ckapp .ck-upgrade a{font-weight:600;color:var(--ink);text-decoration:none}
.ckapp .ck-upgrade a:hover{text-decoration:underline}
.ckapp .ck-up-cred{color:var(--muted)}
.ckapp .ck-bar{display:block;background:var(--surface);border-radius:13px;border:1px solid var(--line);box-shadow:var(--shadow-1);margin:0}
.ckapp .ck-bar:focus-within{border-color:var(--line-2)}
.ckapp .ck-bar textarea{display:block;width:100%;max-height:200px;resize:none;border:none;outline:none;background:transparent;color:var(--txt);font:inherit;font-size:.94rem;line-height:1.6;padding:16px 16px 8px}
.ckapp .ck-bar textarea::placeholder{color:var(--faint)}
.ckapp .ck-bar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 10px}
.ckapp .ck-bar-l,.ckapp .ck-bar-r{display:flex;align-items:center;gap:6px;min-width:0}
.ckapp .ck-clip{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;color:var(--ink);font-size:.9rem;cursor:pointer;transition:background var(--dur-1)}
.ckapp .ck-clip:hover{background:var(--soft)}
/* model pill: border'lı rounded-full */
.ckapp .ck-model-btn{display:flex;align-items:center;gap:7px;height:30px;padding:0 10px 0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--txt);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1);white-space:nowrap}
.ckapp .ck-model-btn:hover{background:var(--soft)}
.ckapp .ck-model-btn .fa-globe{font-size:.8rem;color:var(--ink)}
.ckapp .ck-chev{font-size:.6rem;color:var(--faint);transition:transform var(--dur-2)}
.ckapp .ck-model-btn[aria-expanded="true"] .ck-chev{transform:rotate(180deg)}
/* mic: outline daire */
.ckapp .ck-mic{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:.82rem;cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.ckapp .ck-mic:hover{background:var(--soft);color:var(--ink)}
/* send: siyah daire, boşken %50 */
.ckapp .ck-send{width:32px;height:32px;flex:none;border:none;border-radius:50%;background:var(--accent);color:var(--bg);cursor:pointer;display:grid;place-items:center;font-size:.78rem;transition:opacity var(--dur-1),transform var(--dur-1)}
.ckapp .ck-send:hover{opacity:.85}
.ckapp .ck-send:active{transform:translateY(1px)}
.ckapp .ck-send:disabled{opacity:.4;cursor:default}
/* model menüsü */
.ckapp .ck-model-menu[hidden]{display:none}

/* ── hero: gradient yazı purple-400 → indigo-300 ── */
.ckapp .ck-hi2 span{background:linear-gradient(90deg,#c084fc,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ── chips: beyaz kenarlı pill ── */
.ckapp .ck-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}
.ckapp .ck-chip:hover{background:var(--soft);color:var(--ink)}

/* L35 ek: ck-app scoped mor tokenini siyaha çek */
.ckapp,.ck-root{--ck-violet:var(--ink);--ck-accent:var(--ink)}

/* L35 ek: orb mor küre */
.ckapp .ck-orb{
  background:
    radial-gradient(circle at 32% 28%, #e9deff 0%, rgba(233,222,255,0) 46%),
    radial-gradient(circle at 70% 74%, #8f6cf3 0%, rgba(143,108,243,0) 58%),
    radial-gradient(circle at 48% 46%, #cbb4f7 0%, #b394f4 60%, #8f68ef 100%)!important;
  box-shadow:inset -10px -14px 26px rgba(96,61,168,.32), inset 8px 10px 20px rgba(255,255,255,.55), 0 22px 44px -20px rgba(143,108,243,.6)!important}

/* L35 ek: eski .ck-msg.ai .ck-bub code kuralını geçmek için yüksek spesifite */
.ckapp .ck-msg.ai .ck-bub .ck-icode{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.82em;background:rgba(23,23,23,.07);padding:2px 6px;border-radius:6px;border:1px solid var(--line);color:var(--ink)}
[data-theme="dark"] .ckapp .ck-msg.ai .ck-bub .ck-icode{background:rgba(255,255,255,.09);color:#e8e8ec;border-color:rgba(255,255,255,.14)}
.ckapp .ck-msg.ai .ck-code code,.ckapp .ck-msg.me .ck-code code{background:none;border:none;padding:0;border-radius:0;color:#e8e8ec;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.8rem}
.ckapp .ck-msg.me .ck-bub .ck-icode{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2);color:#fff}

/* L35 ek: kullanıcı balonu metin rengi temayla uyumlu (dark'ta siyah) */
.ckapp .ck-msg.me .ck-bub,.ckapp .ck-msg.me .ck-bub b,.ckapp .ck-msg.me .ck-bub .ck-icode{color:var(--bg)}
.ckapp .ck-msg.me .ck-bub .ck-icode{background:rgba(0,0,0,.12);border-color:rgba(0,0,0,.18)}

/* ============================================================
   34. L36 — birleşik kabuk: header sol menüyle kaynaşık (tek brand),
   genel bakış link/buton düzeltmeleri, terminal yeniden tasarım
   ============================================================ */

/* ── header + sidebar birleşimi ──────────────────────────────
   Header artık sayfanın en üstünde ayrı bir bar değil; sol kenar
   menüsüyle aynı yüzeyde, tek parça bir blok. Brand bir kez var
   (header'da), sidebar'da ikinci marka yok. */
.sh-head{
  height:58px;
  background:var(--bg);
  border-bottom:none;
  box-shadow:none;
  padding:0 18px 0 18px;
}
/* header'ın sağ kısmı (cüzdan/bildirim/tema/profil) ince ayraçla bitsin */
.sh-right{margin-left:auto;display:flex;align-items:center;gap:6px}
/* panel çerçevesi header'ın altından başlar; kart çerçevesi üstten açılır */
.app-shell .sh-head{position:sticky;top:0;z-index:90}

/* içerik alanı (dash/pj) ile header arasında yatay çizgi: sidebar sınırıyla hizalı */
.dash,.pj,.adm-shell{margin-top:12px}

/* genel bakış + kart içi linkler: altı çizili "link gibi" değil, shadcn ghost */
.d-main p a,.card a,.page-head a,.kv a,.plist a,.tlist2 a{color:var(--ink);text-decoration:none}
.d-main p a:hover,.card a:hover,.page-head a:hover{color:var(--ink)}
.card .btn.ghost,.card a.btn{ text-decoration:none }
.card a.btn{ text-decoration:none!important }
/* "Cüzdan →" / "Destek →" butonları gerçek buton görünümlü olsun */
.card .mt2.row .btn.ghost{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-weight:600;border-radius:10px;padding:7px 13px}
.card .btn.ghost:hover{border-color:var(--ink);background:var(--soft);color:var(--ink)}
/* Hesap Özeti .kv satırlarındaki değerler sade */
.kv b{color:var(--ink);font-weight:600}

/* ── terminal yeniden tasarım: shadcn koyu konsol ──────────── */
.term{background:#0d0d10;border:1px solid #232327;border-radius:14px;overflow:hidden;color:#e4e4e7;box-shadow:none;font-variant-ligatures:none}
[data-theme="dark"] .term{background:#0d0d10;border-color:rgba(255,255,255,.1)}
.term-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#131316;border-bottom:1px solid #232327;
  color:#71717a;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:none}
.term-out{font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.7;
  padding:16px 18px;max-height:min(52vh,560px);overflow:auto;white-space:pre-wrap;word-break:break-word;color:#d4d4d8}
.term-out::selection{background:#52525b;color:#fafafa}
.term form{display:flex;align-items:center;gap:10px;padding:0 18px 14px}
.term-ps{font-family:'JetBrains Mono',ui-monospace,monospace;color:#4ade80;font-size:.78rem;flex:none}
.term form input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#fafafa;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.8rem;caret-color:#4ade80}
.term form{border-top:1px dashed #232327;padding-top:12px;margin:0 18px;padding-left:0;padding-right:0}
.term .tdot{width:10px;height:10px}
.term .muted.small{font-weight:600;letter-spacing:.02em}
/* terminal prompt satırı çıktı içinde */
.term-out .jd-ps{color:#4ade80;font-weight:600}

/* ptab başlığı: uppercase mikro başlık düzeltmesi (çok küçük/gri görünmesin) */
.pt-h{font-size:.8rem;text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:700;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.pt-h .muted{font-weight:500}

/* ── Panel mod değiştirici — Yapay Zeka / Hosting (sol panel üstü) ── */
.jd-mode-sw{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:2px 0 12px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.jd-mode-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 6px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--side-muted);text-decoration:none;transition:all .15s;white-space:nowrap}
.jd-mode-btn i{font-size:.85rem;opacity:.8}
.jd-mode-btn:hover{color:var(--ink)}
.jd-mode-btn.on{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.jd-mode-btn.on i{opacity:1}
@media (max-width:600px){.jd-mode-sw{margin-bottom:8px}}
