/* ===========================================================================
 * VERİ ARAÇLARI MODÜLÜ  ·  /arac  ·  GÜVENLİ BÖLGE (SAFE ZONE)
 * ---------------------------------------------------------------------------
 * Bu dosya YALNIZCA "/arac" (Veri Araçları) menüsüne aittir.
 * Modülün TÜM kodu yalnızca şu yerlerdedir; başka menüleri ETKİLEMEZ:
 *   - static/arac/*        (araç JS dosyaları + arac.css)
 *   - templates/arac.html  (bağımsız sayfa; ortak base şablonunu KULLANMAZ)
 *   - routes/arac.py       (tüm /arac uçları; tek blueprint: arac_bp)
 * Başka menü kodu buraya GİRMEMELİ; buradaki değişiklik dışarıyı BOZMAMALI.
 * =========================================================================== */
:root{
  --ink:#1f2937; --ink2:#374151; --muted:#6b7280; --line:#e5e7eb;
  --bg:#e8edf4; --panel:#eef2f8; --card:#ffffff; --brand:#1f2937; --brand2:#2563eb;
  --ok:#059669; --okbg:#ecfdf5; --err:#991b1b; --errbg:#fee2e2;
  --warn:#92400e; --warnbg:#fffbeb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1100px 560px at 82% -8%,rgba(139,92,246,.34),transparent 60%),
    radial-gradient(900px 520px at -8% 12%,rgba(56,189,248,.26),transparent 55%),
    linear-gradient(165deg,#283151 0%,#2d3061 48%,#391f5d 100%);
  background-attachment:fixed; color:var(--ink); line-height:1.5;
  display:flex; flex-direction:column; min-height:100vh;
}

/* Duyuru bandı */
.ann-banner{background:#1e3a8a;color:#fff}
.ann-inner{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:flex-start;gap:12px}
.ann-text{flex:1;font-size:.92rem}
.ann-text strong{display:block;margin-bottom:2px}
.ann-close{background:transparent;border:0;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px}

/* Güncelleme notu */
.update-note{background:var(--warnbg);color:var(--warn);text-align:center;padding:8px 16px;font-size:.9rem}
.update-note a{color:#1d4ed8;font-weight:600;margin-left:8px}

/* Başlık */
.app-header{background:linear-gradient(115deg,#4f46e5 0%,#7c3aed 46%,#db2777 100%);color:#fff;
  box-shadow:0 14px 38px -16px rgba(79,70,229,.6)}
.app-header-inner{max-width:1080px;margin:0 auto;padding:18px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.app-logo{height:48px;width:auto;max-width:120px;border-radius:10px;background:#fff;padding:4px 8px;object-fit:contain;flex:none}
.app-title{margin:0;font-size:1.4rem;font-weight:700}
.app-tagline{margin:2px 0 0;font-size:.85rem;opacity:.8}
.app-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.app-head-actions #acc-mount{margin-left:0}

/* İçerik */
.app-main{max-width:1080px;margin:0 auto;width:100%;flex:1;padding:0 16px 24px}

/* Yan menü (sidebar) düzeni */
.app-layout{display:flex;align-items:flex-start;gap:14px;padding-top:18px}
.side-tabs{flex:none;width:224px;display:flex;flex-direction:column;gap:7px;padding:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:18px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 40px -22px rgba(0,0,0,.7);position:sticky;top:14px}
.side-tab{position:relative;width:100%;text-align:left;padding:13px 14px 13px 22px;border:0;background:transparent;
  color:#cbd5e1;font-size:.96rem;font-weight:600;cursor:pointer;border-radius:12px;transition:.18s;
  display:flex;align-items:center;gap:8px}
.side-tab::before{content:'';position:absolute;left:8px;top:50%;transform:translateY(-50%);
  width:4px;height:56%;border-radius:4px;background:linear-gradient(var(--acc,#64748b),var(--acc2,#475569));
  opacity:.95;transition:.18s}
.side-tab:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.side-tab.active{background:linear-gradient(120deg,var(--acc,#4f46e5),var(--acc2,#7c3aed));color:#fff;
  font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.38);box-shadow:0 12px 26px -8px var(--acc,#4f46e5)}
.side-tab.active::before{opacity:0}
.side-tab[data-tab="analiz"]{--acc:#0ea5e9;--acc2:#2563eb}
.side-tab[data-tab="yolluk"]{--acc:#ea580c;--acc2:#c2410c}
.side-tab[data-tab="gyolluk"]{--acc:#f59e0b;--acc2:#d97706}
.side-tab[data-tab="kulup"]{--acc:#ec4899;--acc2:#a21caf}
.side-tab[data-tab="puantaj"]{--acc:#8b5cf6;--acc2:#6d28d9}
.side-tab[data-tab="kelebek"]{--acc:#10b981;--acc2:#059669}
.side-tab[data-tab="danisman"]{--acc:#6366f1;--acc2:#4338ca}
.app-content{flex:1;min-width:0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);
  border-radius:18px;padding:22px;min-height:320px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 44px -24px rgba(0,0,0,.7)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.placeholder{color:#94a3b8;text-align:center;padding:60px 0}

@media (max-width:760px){
  .app-layout{flex-direction:column;gap:12px;padding-top:14px}
  .side-tabs{width:auto;position:static;flex-direction:row;flex-wrap:wrap;border-radius:16px}
  .side-tab{width:auto;flex:1 1 auto;justify-content:center;padding:11px 12px}
  .side-tab::before{display:none}
  .app-content{border-radius:16px}
}

/* Genel UI bileşenleri (port modüllerinde kullanılacak) */
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.section-title{font-size:1.1rem;font-weight:700;margin:0 0 4px}
.section-sub{color:var(--muted);font-size:.88rem;margin:0 0 14px}
.btn{display:inline-block;padding:12px 16px;background:var(--brand);color:#fff;border:0;
  border-radius:10px;font-size:.98rem;font-weight:600;cursor:pointer;transition:.15s;text-decoration:none}
.btn:hover:not(:disabled){background:#111827}
.btn:disabled{background:#9ca3af;cursor:not-allowed}
.btn-block{display:block;width:100%;text-align:center}
.btn-secondary{background:#e5e7eb;color:var(--ink)}
.btn-secondary:hover:not(:disabled){background:#d1d5db}
.field{margin-bottom:14px}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;font-size:.95rem;font-family:inherit}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.status{margin-top:12px;padding:11px 14px;border-radius:8px;font-size:.9rem;display:none}
.status.info{background:#eff6ff;color:#1e40af;display:block}
.status.err{background:var(--errbg);color:var(--err);display:block}
.status.ok{background:var(--okbg);color:#065f46;display:block}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border:2px dashed #cbd5e1;border-radius:10px;padding:22px 16px;min-height:118px;
  text-align:center;background:#f9fafb;cursor:pointer;transition:.15s}
.drop:hover{border-color:var(--brand2);background:#eff6ff}
.drop.has-file{border-color:var(--ok);background:var(--okbg)}
.drop input[type=file]{display:none}
.drop .ico{font-size:1.9rem}
.drop .fname{color:var(--ok);font-weight:600;font-size:.85rem;margin-top:8px;word-break:break-all}
.help{background:var(--warnbg);border-left:4px solid #f59e0b;color:var(--warn);
  padding:11px 14px;border-radius:8px;font-size:.88rem;margin-bottom:14px;line-height:1.55}
table.data{width:100%;border-collapse:collapse;font-size:.88rem}
table.data th,table.data td{border:1px solid var(--line);padding:7px 9px;text-align:left}
table.data th{background:#f3f4f6}

/* Alt imza */
.app-footer{background:#fff;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;margin-top:auto}
.footer-logo{height:46px;width:auto;max-width:110px;object-fit:contain}
.footer-sign{text-align:left}
.footer-name{font-weight:700;color:var(--ink)}
.footer-oya{font-weight:800;font-size:1.2rem;letter-spacing:.14em;line-height:1.1}
.footer-place{font-size:.85rem;color:var(--muted)}
.footer-ver{font-size:.75rem;color:#9ca3af;margin-top:2px}

@media (max-width:640px){
  .row2{grid-template-columns:1fr}
  .app-title{font-size:1.2rem}
}

/* Çocuk Kulübü */
.k-chips{display:flex;flex-wrap:wrap;gap:8px}
.k-chip{padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:20px;
  font-size:.88rem;font-weight:600;color:var(--ink2);cursor:pointer;transition:.15s}
.k-chip:hover{background:#f1f5f9}
.k-chip.active{background:var(--brand2);color:#fff;border-color:var(--brand2)}
.k-empty{color:#9ca3af;font-size:.86rem;font-style:italic;padding:4px 0}
.k-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.k-sum{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}
.k-sum-b{background:var(--okbg);border-color:#a7f3d0}
.k-sum-lbl{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.k-sum-val{font-size:1.15rem;font-weight:800;color:var(--ink)}
.k-role{border-top:1px solid var(--line);padding:12px 0}
.k-role:first-of-type{border-top:0}
.k-role-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600}
.k-pct{color:var(--brand2);font-weight:700;font-size:.85rem}
.k-prow{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.k-prow .k-name{flex:2;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.92rem;font-family:inherit}
.k-prow .k-kadro{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.92rem;font-family:inherit}
.k-prow .k-tax{flex:0 0 78px;padding:8px 6px;border:1px solid var(--line);border-radius:8px;font-size:.92rem;font-family:inherit}
.k-role-note{font-size:.8rem;color:#6b7280;margin:2px 0 8px}
.k-del,.k-del-t{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;width:30px;height:32px;
  cursor:pointer;font-size:.9rem;flex:none}
.k-del:hover,.k-del-t:hover{background:#fecaca}
table.k-teach td{vertical-align:middle}
table.k-teach input,table.k-teach select{width:100%;padding:6px 8px;border:1px solid #d1d5db;
  border-radius:6px;font-size:.88rem;font-family:inherit}
@media (max-width:640px){
  .k-cards{grid-template-columns:1fr}
  .k-prow{flex-wrap:wrap}
}

/* Puantaj */
.pj-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.pj-card>summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;outline:none}
.pj-card>summary::-webkit-details-marker{display:none}
.pj-card>summary::before{content:"▸";margin-right:8px;color:var(--brand2)}
.pj-card[open]>summary::before{content:"▾"}
.pj-cardtitle{font-weight:700;color:var(--ink);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.pj-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.pj-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pj-types{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pj-type{padding:9px 16px;border:1px solid var(--line);background:#fff;border-radius:20px;
  font-size:.9rem;font-weight:600;color:var(--ink2);cursor:pointer;transition:.15s}
.pj-type:hover{background:#f1f5f9}
.pj-type.active{background:var(--brand2);color:#fff;border-color:var(--brand2)}
.pj-cal{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.pj-day{min-width:40px;text-align:center;border:1px solid var(--line);border-radius:7px;
  padding:5px 3px;background:#f8fafc;font-size:.72rem;line-height:1.25}
.pj-day .pj-dn{font-weight:700;font-size:.84rem;color:var(--ink);display:block}
.pj-day .pj-wd{color:var(--muted)}
.pj-day.we{background:#c2cad6;border-color:#9aa4b4}
.pj-day.we .pj-dn,.pj-day.we .pj-wd{color:#1f2937}
.pj-gridwrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:6px}
table.pj-tbl{border-collapse:collapse;font-size:.82rem;min-width:100%}
table.pj-tbl th,table.pj-tbl td{border:1px solid var(--line);padding:4px 5px;text-align:center;white-space:nowrap}
table.pj-tbl thead th{background:#dbe6f3}
table.pj-tbl th.we,table.pj-tbl td.we{background:#c2cad6}
table.pj-tbl td.lft{text-align:left}
table.pj-tbl input.pj-h{width:36px;padding:3px 2px;border:1px solid #d1d5db;border-radius:5px;
  text-align:center;font-size:.8rem;font-family:inherit}
table.pj-tbl td.we input.pj-h{background:#eef1f5}
table.pj-tbl input.pj-name{width:140px;padding:4px 6px;border:1px solid #d1d5db;border-radius:5px;font-family:inherit;font-size:.8rem}
table.pj-tbl input.pj-note{width:100px;padding:4px 6px;border:1px solid #d1d5db;border-radius:5px;font-family:inherit;font-size:.8rem}
table.pj-tbl select.pj-code{width:90px;padding:3px;font-size:.78rem;font-family:inherit;border:1px solid #d1d5db;border-radius:5px}
table.pj-tbl input.pj-brans{width:90px;padding:4px 6px;border:1px solid #d1d5db;border-radius:5px;font-family:inherit;font-size:.8rem}
table.pj-tbl tfoot td{background:#eef2f8;font-weight:700}
.pj-rowtot{font-weight:700}
table.pj-tbl td.pj-rowbon{font-weight:700;color:#1d4ed8;background:#eef4ff}
.pj-addrow{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:10px}
.pj-addrow select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.9rem}
.pj-del{border:0;background:#fee2e2;color:#991b1b;border-radius:6px;width:26px;height:28px;cursor:pointer;font-size:.85rem}
.pj-del:hover{background:#fecaca}
.pj-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pj-hist{display:flex;flex-direction:column;gap:8px}
.pj-hist-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);
  border-radius:9px;padding:10px 12px;background:#f9fafb}
.pj-hist-meta{font-size:.85rem;color:var(--ink2)}
.pj-hist-meta b{color:var(--ink)}
.pj-hist-actions{display:flex;gap:6px;flex:none}
.pj-empty{color:#9ca3af;font-size:.86rem;font-style:italic;padding:4px 0}
.pj-teach-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.pj-teach-item{display:flex;gap:8px;align-items:center}
.pj-teach-item .pj-tn{flex:2}
.pj-teach-item .pj-tb{flex:1}
.pj-teach-item input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.9rem}
.pj-warn{background:var(--warnbg);border-left:4px solid #f59e0b;color:var(--warn);
  padding:9px 12px;border-radius:8px;font-size:.86rem;margin:8px 0;display:none}
.pj-warn.show{display:block}
.pj-hint{color:var(--muted);font-size:.83rem;margin:2px 0 10px}
.pj-btn-sm{padding:8px 12px;font-size:.88rem}
@media (max-width:640px){
  .pj-grid3,.pj-grid2{grid-template-columns:1fr}
}

/* ==================== KELEBEK SINAV DÜZENİ ==================== */
.k-help{background:#eef4ff;border:1px solid #c7d7fe;color:#1e3a5f;padding:10px 12px;border-radius:9px;font-size:.85rem;line-height:1.5;margin-top:6px}
.k-hint{color:var(--muted);font-size:.83rem;line-height:1.5}
.k-acc summary{cursor:pointer;font-size:1rem;list-style:none}
.k-acc summary::-webkit-details-marker{display:none}
.k-acc summary::before{content:'▸ ';color:var(--brand2)}
.k-acc[open] summary::before{content:'▾ '}
.k-badge{font-size:.78rem;color:var(--muted);font-weight:400;margin-left:6px}
.k-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}
.k-drop{margin-top:10px}
.k-drop.dragover{border-color:var(--brand2);background:#eef4ff}
.k-btn-sm{padding:8px 12px;font-size:.86rem}
.k-empty{color:#9ca3af;font-size:.86rem;font-style:italic}
.k-roster-summary{margin-top:6px}
.k-classchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.k-classchip{background:#f1f5f9;border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:.82rem;color:var(--ink2)}
.k-classchip b{color:var(--brand2)}
/* Salon ayarları tablosu */
.k-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:10px}
table.k-cfg{border-collapse:collapse;width:100%;font-size:.85rem;min-width:480px}
table.k-cfg th,table.k-cfg td{border:1px solid var(--line);padding:5px 7px;text-align:center}
table.k-cfg thead th{background:#dbe6f3;font-size:.8rem}
table.k-cfg input,table.k-cfg select{padding:6px 7px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.84rem;width:100%}
table.k-cfg input.k-num{width:70px;text-align:center}
table.k-cfg td:first-child input{text-align:left}
.k-addroom{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.k-addroom input,.k-addroom select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.88rem}
.k-addroom input[type=number]{width:90px}
/* Seviye chip'leri */
.k-chips{display:flex;flex-wrap:wrap;gap:8px}
.k-chip{padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;color:var(--ink2);
  font-size:.9rem;font-weight:600;cursor:pointer;transition:.15s}
.k-chip:hover{background:#f1f5f9}
.k-chip.active{background:var(--brand2);color:#fff;border-color:var(--brand2)}
/* Sonuç */
.k-stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.k-stat{flex:1;min-width:110px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.k-stat .num{font-size:1.5rem;font-weight:800;color:var(--brand2)}
.k-stat .lbl{font-size:.78rem;color:var(--muted);margin-top:2px}
.k-stat-warn{background:var(--errbg);border-color:#fca5a5}
.k-stat-warn .num{color:#991b1b}
.k-warnbox{margin:10px 0;display:flex;flex-direction:column;gap:6px}
.k-warnitem{background:var(--warnbg);border-left:4px solid #f59e0b;color:var(--warn);padding:9px 12px;border-radius:8px;font-size:.85rem;line-height:1.5}
.k-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.k-roomgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:16px}
.k-roomcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.k-roomhead{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:#fff;font-weight:700}
.k-roomhead.exam{background:#1e3a5f}
.k-roomhead.study{background:#2d6a4f}
.k-roomtype{font-size:.74rem;font-weight:600;opacity:.92}
.k-roombody{padding:8px 10px;max-height:340px;overflow-y:auto}
.k-desk{display:grid;grid-template-columns:26px 1fr 1fr;gap:5px;align-items:stretch;margin-bottom:5px}
.k-dnum{display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:5px;font-size:.74rem;font-weight:700;color:var(--muted)}
.k-seat{font-size:.74rem;padding:5px 7px;border-radius:5px;line-height:1.25}
.k-seat i{font-style:normal;opacity:.7;font-size:.68rem;display:block}
.k-seat.empty{background:#f3f4f6;color:#9ca3af;text-align:center}
.k-seat.grade-5{background:#dbeafe;color:#1e40af}
.k-seat.grade-6{background:#dcfce7;color:#166534}
.k-seat.grade-7{background:#fef9c3;color:#854d0e}
.k-seat.grade-8{background:#fce7f3;color:#9d174d}
.k-srow{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.78rem;padding:4px 6px;border-bottom:1px solid #f1f5f9}
.k-srow i{font-style:normal;color:var(--muted);font-size:.72rem;flex:none}
/* Geçmiş */
.k-hist{display:flex;flex-direction:column;gap:8px}
.k-hist-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#f9fafb;flex-wrap:wrap}
.k-hist-meta{font-size:.85rem;color:var(--ink2)}
.k-hist-meta b{color:var(--ink)}
.k-hist-actions{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:640px){
  .k-roomgrid{grid-template-columns:1fr}
  .k-addroom input,.k-addroom select{flex:1;min-width:0}
}

/* ==================== ARAÇLAR — MODERN TEMA (tüm sekmeler, sekme rengine göre) ==================== */
/* sekme aksan renkleri (yan menü ile uyumlu) */
#tab-analiz{--tacc:#0284c7;--tacc2:#2563eb}
#tab-yolluk{--tacc:#ea580c;--tacc2:#c2410c}
#tab-gyolluk{--tacc:#f59e0b;--tacc2:#d97706}
#tab-kulup{--tacc:#ec4899;--tacc2:#a21caf}
#tab-puantaj{--tacc:#8b5cf6;--tacc2:#6d28d9}
#tab-kelebek{--tacc:#10b981;--tacc2:#059669}
#tab-danisman{--tacc:#6366f1;--tacc2:#4338ca}
#tab-cesitli{--tacc:#16a34a;--tacc2:#15803d}
#tab-maaskesim{--tacc:#dc2626;--tacc2:#b91c1c}
#tab-ekdersiade{--tacc:#0891b2;--tacc2:#0e7490}
#tab-maasform{--tacc:#7c3aed;--tacc2:#6d28d9}
#tab-nakil{--tacc:#0d9488;--tacc2:#0f766e}
#tab-nakil .nakil-title{font-size:1.3rem;font-weight:800;color:#0f172a;margin:2px 0 10px}
#tab-nakil .nakil-desc{color:#475569;line-height:1.7;margin:0 0 14px;font-size:.98rem}
#tab-nakil .nakil-desc strong{color:var(--tacc2)}
#tab-nakil .nakil-fields{margin:0 0 18px;padding-left:20px;color:#475569;line-height:1.9;font-size:.92rem}
#tab-nakil .nakil-fields li::marker{color:var(--tacc);font-weight:700}
#tab-nakil .nakil-dl{display:block;text-align:center;text-decoration:none;color:#fff}
#tab-nakil .nakil-note{margin:14px 0 0;color:#94a3b8;font-size:.84rem}
#tab-nakil .nakil-note code{background:#f1f5f9;border-radius:6px;padding:1px 6px;color:#334155}

/* kartlar — renkli üst şerit + yumuşak gölge + yuvarlatma */
.tab-panel .card,.tab-panel .pj-card{position:relative;overflow:hidden;background:#fff;
  border:1px solid #eef0f5;border-radius:18px;padding:20px 20px 18px;margin-bottom:16px;
  box-shadow:0 18px 40px -24px rgba(15,23,42,.45),0 2px 6px -2px rgba(15,23,42,.08)}
.tab-panel .card::before,.tab-panel .pj-card::before{content:'';position:absolute;top:0;left:0;right:0;
  height:4px;background:linear-gradient(90deg,var(--tacc,#4f46e5),var(--tacc2,#7c3aed))}

/* başlıklar */
.tab-panel .section-title{font-size:1.14rem;font-weight:800;color:#1e293b;margin:2px 0 4px;
  display:flex;align-items:center;gap:8px;letter-spacing:-.01em}
.tab-panel .section-sub{color:#64748b}
.tab-panel .field label{color:#334155;font-weight:700}

/* form alanları + sekme renginde odak halkası */
.tab-panel .field input,.tab-panel .field select,.tab-panel .field textarea,
.tab-panel .k-prow .k-name,.tab-panel .k-prow .k-kadro,.tab-panel .k-prow .k-tax,
.tab-panel table.k-teach input,.tab-panel table.k-teach select,
#tab-kulup .kf-amount,#tab-kulup .kf-date,#tab-kulup .kf-no,#tab-kulup .kf-desc{
  border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;transition:.15s}
.tab-panel input:focus,.tab-panel select:focus,.tab-panel textarea:focus{
  outline:none;border-color:var(--tacc,#4f46e5);background:#fff;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tacc,#4f46e5) 20%,transparent)}

/* yükleme (drop) alanı */
.tab-panel .drop:hover{border-color:var(--tacc,#4f46e5);
  background:color-mix(in srgb,var(--tacc,#4f46e5) 8%,#fff)}

/* butonlar — sekme rengi degrade */
.tab-panel .btn{background:linear-gradient(120deg,var(--tacc,#4f46e5),var(--tacc2,#7c3aed));border:0;
  border-radius:12px;font-weight:700;box-shadow:0 10px 22px -10px var(--tacc,#4f46e5);transition:.15s}
.tab-panel .btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}
.tab-panel .btn:disabled{background:#cbd5e1;box-shadow:none}
.tab-panel .btn-block{padding:15px;font-size:1.06rem;letter-spacing:.3px;border-radius:14px;
  box-shadow:0 14px 30px -12px var(--tacc,#4f46e5)}
.tab-panel .btn-secondary{background:#fff;color:var(--tacc2,#4338ca);border:1px solid #e2e8f0;box-shadow:none}
.tab-panel .btn-secondary:hover:not(:disabled){background:#f8fafc;filter:none;transform:none}

/* chip / tip seçiciler — aktif = sekme rengi */
.tab-panel .k-chip.active,.tab-panel .pj-type.active{
  background:linear-gradient(120deg,var(--tacc),var(--tacc2));color:#fff;border-color:transparent;
  box-shadow:0 8px 18px -8px var(--tacc)}

/* istatistik (kelebek) sayıları sekme renginde */
.tab-panel .k-stat .num{color:var(--tacc)}

/* ---------- Çocuk Kulübü'ne özel ---------- */
#tab-kulup .help{background:linear-gradient(135deg,#fdf2f8,#faf5ff);border:1px solid #f5d0fe;
  border-left:4px solid var(--tacc);color:#6b21a8;border-radius:14px;padding:14px 16px;line-height:1.65;font-size:.9rem}
#tab-kulup .help b{color:#86198f}
#tab-kulup .card::before{background:linear-gradient(90deg,var(--tacc),var(--tacc2),#6366f1)}
#tab-kulup .k-chip-wrap{display:inline-flex;align-items:center;gap:0;border:1px solid #e9d5ff;
  background:#faf5ff;border-radius:999px;overflow:hidden}
#tab-kulup .k-chip{border:none;background:transparent;color:#7c3aed;border-radius:0;
  font-weight:700;padding:8px 14px;font-size:.9rem;cursor:pointer;transition:.15s}
#tab-kulup .k-chip:hover{background:#f3e8ff}
#tab-kulup .k-chip.active{background:linear-gradient(120deg,var(--tacc),var(--tacc2));color:#fff;}
#tab-kulup .k-chip-del{border:none;background:transparent;color:#9ca3af;font-size:.85rem;
  padding:8px 10px;cursor:pointer;line-height:1;transition:.15s}
#tab-kulup .k-chip-del:hover{background:#ede9fe;color:#7c3aed}
#tab-kulup .k-cards{gap:14px}
#tab-kulup .k-sum{border:0;border-radius:16px;padding:18px 16px;color:#fff;text-align:left;
  box-shadow:0 14px 28px -14px rgba(15,23,42,.55);position:relative;overflow:hidden}
#tab-kulup .k-sum::after{content:'';position:absolute;right:-26px;top:-26px;width:90px;height:90px;
  border-radius:50%;background:rgba(255,255,255,.14)}
#tab-kulup .k-sum-lbl{color:rgba(255,255,255,.88);font-size:.82rem;font-weight:600;margin-bottom:8px;position:relative}
#tab-kulup .k-sum-val{color:#fff;font-size:1.5rem;font-weight:800;line-height:1.1;position:relative}
#tab-kulup .k-sum--idari{background:linear-gradient(135deg,#6366f1,#4338ca)}
#tab-kulup .k-sum--ogr{background:linear-gradient(135deg,#ec4899,#be185d)}
#tab-kulup .k-sum--il{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
#tab-kulup .k-sum--birlik,#tab-kulup .k-sum-b{background:linear-gradient(135deg,#10b981,#047857)}
#tab-kulup .k-role{border-top:1px dashed #e2e8f0}
#tab-kulup .k-role-head{font-weight:800;color:#1e293b}
#tab-kulup .k-pct{color:var(--tacc);background:#fdf2f8;border-radius:999px;padding:2px 10px;font-size:.8rem}
#tab-kulup table.data th{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);color:#4c1d95;font-weight:800}
#tab-kulup table.data td{border-color:#f1f5f9}
#tab-kulup table.data tbody tr:nth-child(even){background:#fcfcff}
#tab-kulup table.k-teach th{background:#f5f3ff;color:#4c1d95}
#tab-kulup .k-del,#tab-kulup .k-del-t{border-radius:9px}

/* ==================== BORDRO ARAÇLARI ORTAK (.bd-*) ==================== */
.bd-desc{color:#475569;font-size:.92rem;line-height:1.6;margin:6px 0 10px}
.bd-note{background:color-mix(in srgb,var(--tacc,#4f46e5) 7%,#fff);border-left:4px solid var(--tacc,#4f46e5);
  border-radius:10px;padding:10px 14px;font-size:.86rem;line-height:1.6;color:#334155;margin:8px 0 12px}
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px 14px;margin:10px 0}
.bd-f{display:flex;flex-direction:column;gap:4px;font-size:.85rem}
.bd-f span{font-weight:600;color:#475569;font-size:.8rem}
.bd-f input,.bd-f select,.bd-f textarea{padding:9px 11px;border:1px solid #e2e8f0;border-radius:10px;
  background:#f8fafc;font:inherit;font-size:.88rem;transition:.15s}
.bd-f input:disabled{background:#eef2f7;color:#64748b;font-weight:700}
.bd-f textarea{resize:vertical;min-height:64px}
.bd-btnrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.bd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bd-tablewrap{overflow-x:auto;margin:8px 0;border:1px solid #eef2f7;border-radius:12px}
.bd-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:640px}
.bd-table th{background:color-mix(in srgb,var(--tacc,#4f46e5) 8%,#fff);color:#334155;font-weight:700;
  padding:8px 10px;text-align:left;white-space:nowrap;border-bottom:2px solid #e2e8f0}
.bd-table td{padding:7px 10px;border-bottom:1px solid #f1f5f9;white-space:nowrap}
.bd-table tbody tr:nth-child(even){background:#fafbff}
.bd-table td.num,.bd-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.bd-table tfoot td{background:#f8fafc;border-top:2px solid #e2e8f0}
.bd-mini{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:3px 7px;cursor:pointer;
  font-size:.85rem;margin-left:4px;transition:.15s}
.bd-mini:hover{background:#f1f5f9}
.bd-uyari{cursor:help}
.bd-infocard{background:#fffbeb;border:1px solid #fde68a}
.bd-infocard h3{color:#92400e}
.bd-ul{margin:8px 0 0 18px;padding:0;color:#475569;font-size:.86rem;line-height:1.7}
.bd-ul li{margin-bottom:6px}
