/* ---------- Renk ve ölçü değişkenleri (açık / koyu tema) ---------- */
:root{
  --bg:#f5f7fb;--bg2:#eef1f7;--card:#fff;--tx:#0f172a;--mut:#64748b;--line:#e6eaf1;--hover:#f8f9fd;--zebra:#fafbfd;
  --acc:#4f46e5;--acc2:#7c3aed;--accbg:#eef0ff;--ring:rgba(79,70,229,.2);
  --good:#047857;--goodbg:#e4f6ee;--bad:#c81e1e;--badbg:#fdeceb;
  --barbg:rgba(255,255,255,.78);--glow:rgba(79,70,229,.07);--sb:#cbd2df;
  --sh1:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);--sh2:0 12px 32px -14px rgba(15,23,42,.22);
  --r:14px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0b0f17;--bg2:#121826;--card:#141a27;--tx:#e7ebf3;--mut:#8b97ab;--line:#232c3d;--hover:#182033;--zebra:#161d2c;
  --acc:#818cf8;--acc2:#a78bfa;--accbg:#1c2142;--ring:rgba(129,140,248,.25);
  --good:#34d399;--goodbg:#0f2a22;--bad:#f87171;--badbg:#341a1d;
  --barbg:rgba(20,26,39,.78);--glow:rgba(129,140,248,.08);--sb:#2c3648;
  --sh1:0 1px 2px rgba(0,0,0,.3);--sh2:0 14px 36px -14px rgba(0,0,0,.6);color-scheme:dark
}}

/* ---------- Temel ---------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;color:var(--tx);font:14px/1.5 "Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased;
  background:radial-gradient(1100px 420px at 12% -8%,var(--glow),transparent 70%),radial-gradient(900px 380px at 100% 0,var(--glow),transparent 70%),var(--bg);background-attachment:fixed}
main{padding:20px 24px}
::selection{background:var(--accbg)}
table,.card .v,.num,.pill b,.mini .v{font-variant-numeric:tabular-nums}
*{scrollbar-width:thin;scrollbar-color:var(--sb) transparent}
:where(a,button,select,input,label.btn):focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.hint{color:var(--mut);font-size:12px;line-height:1.55}
.up{color:var(--good)}.dn{color:var(--bad)}

/* ---------- Üst çubuk ---------- */
#bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:var(--barbg);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.lnk{display:flex;align-items:center;gap:2px;min-width:0}
#brand{display:inline-flex;align-items:center;gap:9px;margin-right:18px;font-size:17px;font-weight:750;letter-spacing:-.02em;color:var(--tx);text-decoration:none}
#brand svg{flex:none;border-radius:8px;box-shadow:0 4px 12px -4px rgba(79,70,229,.6)}
.navlink{padding:7px 12px;border-radius:9px;color:var(--mut);font-weight:500;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}
.navlink:hover{color:var(--tx);background:var(--bg2)}
.navlink.on{color:var(--acc);background:var(--accbg);font-weight:600}
.backbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;margin-right:10px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--tx);box-shadow:var(--sh1);cursor:pointer;transition:border-color .15s,color .15s,transform .15s}
.backbtn:hover:not(:disabled){border-color:var(--acc);color:var(--acc);transform:translateX(-1px)}
.backbtn:disabled{opacity:.35;cursor:default;box-shadow:none}
.bar-r{display:flex;align-items:center;gap:10px}
#bar .btn{padding:7px 14px}

/* ---------- Düğmeler, girişler ---------- */
.btn{display:block;text-align:center;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--tx);cursor:pointer;font:inherit;font-weight:500;box-shadow:var(--sh1);transition:border-color .15s,color .15s,transform .15s,box-shadow .15s,filter .15s}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.primary{background:linear-gradient(135deg,var(--acc),var(--acc2));border-color:transparent;color:#fff;box-shadow:0 8px 18px -8px rgba(79,70,229,.65)}
.btn.primary:hover{color:#fff;filter:brightness(1.07);transform:translateY(-1px)}
select,#homeQ,#homeS,#cmpQ,#clsQ{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background-color:var(--card);color:var(--tx);box-shadow:var(--sh1);transition:border-color .15s,box-shadow .15s}
select:focus,#homeQ:focus,#cmpQ:focus,#clsQ:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--ring)}
#homeQ{min-width:260px;padding-left:34px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px 50%/16px}
#homeS{max-width:260px}
#cmpQ{min-width:230px;border-radius:99px;padding:6px 14px}
.lbl{display:inline-flex;align-items:center;gap:6px;color:var(--mut);margin-left:auto}
.tools{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
/* Kayan seçici (Medyan / Ağırlıklı gibi) */
.seg{display:inline-flex;gap:2px;padding:3px;background:var(--bg2);border:1px solid var(--line);border-radius:11px}
.seg button{border:0;background:transparent;color:var(--mut);padding:6px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}
.seg button:hover{color:var(--tx)}
.seg button.on{background:var(--card);color:var(--tx);font-weight:600;box-shadow:var(--sh1)}

/* ---------- Mesajlar ---------- */
#msg{margin-bottom:12px}
#msg div{padding:10px 14px;border-radius:12px;background:var(--badbg);color:var(--bad);margin-bottom:6px;box-shadow:var(--sh1)}
#msg div.ok{background:var(--goodbg);color:var(--good)}

/* ---------- Şirket sayfası düzeni ---------- */
#app{display:grid;grid-template-columns:196px minmax(0,1fr);gap:24px;align-items:start}
#app>header{position:sticky;top:calc(var(--bar,54px) + 14px)}
#app>header h2{margin:2px 0 4px;font-size:22px;font-weight:750;letter-spacing:-.02em}
#app>header h2 .star{font-size:20px;vertical-align:middle}
.fullname{color:var(--mut);font-size:12px;margin:0 0 16px;line-height:1.4}
#tabs{display:flex;flex-direction:column;gap:2px}
#tabs button{position:relative;border:0;background:none;padding:9px 12px 9px 14px;border-radius:10px;cursor:pointer;color:var(--mut);font:inherit;font-weight:500;text-align:left;transition:background .15s,color .15s}
#tabs button:hover{background:var(--card);color:var(--tx)}
#tabs button.on{background:var(--card);color:var(--acc);font-weight:600;box-shadow:var(--sh1)}
#tabs button.on::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:linear-gradient(var(--acc),var(--acc2))}
.addyear{margin-top:8px;font-size:13px;padding:7px 10px}
.cmpbtn{text-decoration:none}
#app>header .cmpbtn{margin-top:16px;font-size:13px;padding:7px 10px}

/* ---------- Kartlar ve paneller ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh1);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--sh2);transform:translateY(-1px)}
.card .l{color:var(--mut);font-size:12px;font-weight:500}
.card .v{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:4px 0 6px}
.card .d{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}
.card .d.up{background:var(--goodbg)}.card .d.dn{background:var(--badbg)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:16px;box-shadow:var(--sh1)}
.panel h3{margin:0 0 12px;font-size:15px;font-weight:650}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
ul.c{margin:0;padding-left:18px}ul.c li{margin:5px 0;line-height:1.5}ul.c li::marker{color:var(--mut)}
.score{display:flex;gap:8px;flex-wrap:wrap}
.pill{padding:5px 12px;border-radius:99px;background:var(--bg2);border:1px solid var(--line);font-size:12px}
.pill b.g{color:var(--good)}.pill b.r{color:var(--bad)}
.lead{margin:0 0 6px;line-height:1.6}.lead:last-child{margin-bottom:0}
.empty-state{max-width:560px}.empty-state p{color:var(--mut);margin:0 0 14px}
.home-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.home-h h2{margin:0;font-size:26px;font-weight:750;letter-spacing:-.025em}
.home-h a{color:var(--acc);text-decoration:none}.home-h a:hover{text-decoration:underline}
.sec,h3.sec{margin:28px 0 12px;font-size:16px;font-weight:700;letter-spacing:-.01em}
.famh{margin:40px 0 6px;padding-top:18px;border-top:1px solid var(--line);font-size:20px;font-weight:750;letter-spacing:-.02em}
.famh2{margin:18px 0 8px;font-size:15px;color:var(--mut)}

/* ---------- Grafikler ---------- */
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}
.chart{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px 12px;box-shadow:var(--sh1)}
.chart h4{margin:0 0 10px;font-size:13.5px;font-weight:650}
.chart div{position:relative;height:250px}
.cmpcharts .chart h4{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ---------- Tablolar ---------- */
table{border-collapse:separate;border-spacing:0;width:100%}
th,td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
th:first-child,td:first-child{text-align:left}
td.name{white-space:normal;width:340px;min-width:200px;line-height:1.4}
th:first-child{min-width:200px}
td:not(.name):not(.mut),th:not(:first-child){min-width:104px}
thead th{background:var(--bg2);position:sticky;top:0;z-index:3;font-size:12px;font-weight:600;color:var(--mut);border-bottom:0;box-shadow:0 1px 0 var(--line)}
thead th:first-child{border-top-left-radius:calc(var(--r) - 1px)}thead th:last-child{border-top-right-radius:calc(var(--r) - 1px)}
tbody tr:not(.grp):hover>td:not(.good):not(.bad){background:var(--hover)}
tr.grp td{background:var(--bg2);text-align:left}
.grplbl{display:inline-block;position:sticky;left:12px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
td.good{background:var(--goodbg);color:var(--good);font-weight:600}td.bad{background:var(--badbg);color:var(--bad);font-weight:600}
td.best{font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
td.mut{color:var(--mut);font-size:12px;text-align:left;white-space:normal}
td.med{color:var(--mut)}
tr.key td:first-child{font-weight:700;color:var(--tx)}
tr.mutrow td{color:var(--mut);font-size:12px}
tr.gstart td{border-top:1px solid var(--tx)}
tr.gstart:first-child td{border-top:0}
.tw{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;box-shadow:var(--sh1)}
.tw .d{font-size:11px;margin-left:4px}
/* Excel mantığı (bölmeleri dondur): her tablo kendi kaydırma alanında durur; ilk satır (başlık) üstte,
   ilk sütun solda sabit kalır. Alan yüksekliği ekrana sığar. */
/* isolation: tablonun içindeki katmanlar (sabit köşe hücresi z-index 5) kendi kutusunda kalır; sayfa kaydırılınca üst çubuğun üstüne çıkmaz */
.tw,.cotbl-w{overflow:auto;max-height:calc(100vh - var(--bar,57px) - 130px);min-height:200px;overscroll-behavior:contain;isolation:isolate}
.tw{min-height:0}
td:first-child,th:first-child{position:sticky;left:0;background:var(--card);z-index:2;box-shadow:1px 0 0 var(--line)}
thead th:first-child{background:var(--bg2);z-index:5;box-shadow:1px 1px 0 var(--line)}
tr.grp td:first-child{background:var(--bg2)}
td.good:first-child{background:var(--goodbg)}td.bad:first-child{background:var(--badbg)}
/* grup başlığı satırı (colspan): hücre kaymaz, yazı kaydırma alanının solunda yapışık kalır */
tr.grp td:first-child{position:static;box-shadow:none}
/* değerli bölüm başlığı (bilançoda "Dönen Varlıklar" vb.): başlık görünümü korunur, ilk hücre diğer satırlar gibi solda sabit, tutarlar kalın */
tr.grp.gval td{text-align:right;font-weight:700}
tr.grp.gval td:first-child{position:sticky;box-shadow:1px 0 0 var(--line);text-align:left}
.tw tr.secrow{cursor:pointer}.tw tr.secrow:hover td{background:var(--accbg)}.tw tr.secrow td.name{color:var(--acc)}
#sec .tw td a,#sec .panel a,#view .tw a,#view .panel a,#kars .tw a{color:var(--acc);text-decoration:none}
#sec .tw td a:hover,#sec .panel a:hover,#view .tw a:hover,#view .panel a:hover,#kars .tw a:hover{text-decoration:underline}
#kars th a{color:inherit}

/* Şirket listesi tablosu (ana sayfa, sektör raporu) */
.cotbl-w{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh1)}
.cotbl{font-size:13px}
.cotbl th,.cotbl td{padding:8px 10px;text-align:left;min-width:0}
.cotbl thead th{border-radius:0;background:var(--bg2)}
.cotbl th.num,.cotbl td.num{text-align:right;min-width:120px}
.cotbl tbody tr{background:var(--card)}
.cotbl tbody tr:nth-child(even){background:var(--zebra)}
.cotbl tbody tr.corow,.cotbl tbody tr.secrow{cursor:pointer}
.cotbl tbody tr.corow:hover,.cotbl tbody tr.secrow:hover{background:var(--accbg)}
/* aramada ↑/↓ ile seçilen satır; yapışık başlığın altında kalmasın */
.cotbl tbody tr.corow.kbd{background:var(--accbg);scroll-margin-top:40px}
.cotbl tbody tr.corow.kbd>td:first-child{box-shadow:inset 3px 0 0 var(--acc),1px 0 0 var(--line)}
.cotbl tbody tr:not(.grp):hover>td:not(.good):not(.bad){background:inherit}
/* dondurulan sütunlar (yıldız + kod): satırın arka planını devralır, kaydırılan içerik altından görünmez */
.cotbl td:first-child,.cotbl tr.grp td:first-child{background:inherit}
.cotbl thead th.c-star,.cotbl td.c-star{min-width:44px;width:44px;max-width:44px}
.cotbl th.c-star ~ th.c-code,.cotbl td.c-star ~ td.c-code{position:sticky;left:44px;box-shadow:1px 0 0 var(--line)}
.cotbl td.c-star ~ td.c-code{z-index:2;background:inherit}
.cotbl th.c-star ~ th.c-code{z-index:5;background:var(--bg2)}
.cotbl tr.empty td{color:var(--mut)}
.cotbl .c-star,.cotbl .c-act{width:1%;padding:4px 6px;text-align:center}
.cotbl .c-code{font-weight:650;width:1%}
.cotbl .c-star ~ .c-code{width:76px;min-width:76px;max-width:76px}
.cotbl .c-name{width:210px;min-width:210px;max-width:210px;overflow:hidden;text-overflow:ellipsis;color:var(--mut);font-size:12px}
.cotbl .c-sec{color:var(--tx);font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.cotbl .c-per{color:var(--mut);font-size:12px}
.cotbl .d{font-size:11px;margin-left:4px}
.cotbl .c-sc{white-space:nowrap;min-width:110px}
.cotbl .c-sc .bar2{display:inline-flex;width:60px;margin:0 6px 0 0;vertical-align:middle}.cotbl .sc{font-size:12px;color:var(--mut)}
.cotbl .x{border:0;background:none;color:var(--mut);font-size:16px;cursor:pointer}.cotbl .x:hover{color:var(--bad)}
.cotbl .c-act{white-space:nowrap}.cotbl .x.clr{font-size:13px;filter:grayscale(1);opacity:.7}.cotbl .x.clr:hover{filter:none;opacity:1}
.cotbl td.hint{text-align:center;padding:16px}
.cotbl tr.secrow.empty td{color:var(--mut)}
.c-sec[data-sector]{cursor:pointer;color:var(--acc)}.c-sec[data-sector]:hover{text-decoration:underline}
.bar2{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--line);margin-bottom:4px}.bar2 i{background:var(--good)}.bar2 b{background:var(--bad)}
.addbtn{padding:5px 10px;font-size:12px;display:inline-block}

/* Eski kart görünümü (şirket kartları) */
.cos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.cocard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;box-shadow:var(--sh1);transition:.15s}
.cocard:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:var(--sh2)}
.cocard h3{margin:0;font-size:18px;padding-right:56px}.cocard .sub{color:var(--mut);font-size:12px;margin-bottom:12px}
.cocard .x{position:absolute;top:10px;right:12px;border:0;background:none;color:var(--mut);font-size:18px;cursor:pointer}.cocard .x:hover{color:var(--bad)}
.cocard .star{position:absolute;top:9px;right:34px}
.cocard .sc{font-size:12px;color:var(--mut)}
.cocard.empty{padding:12px 14px;background:var(--bg);border-style:dashed}
.cocard.empty h3{font-size:16px}.cocard.empty .sub{margin-bottom:8px}.cocard.empty .cfull{margin-bottom:8px}
.cfull{color:var(--mut);font-size:11px;line-height:1.3;margin:2px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:12px}
.mini .l{color:var(--mut);font-size:11px}.mini .v{font-weight:650;font-size:15px}.mini .d{font-size:11px}
.addcard{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;border:2px dashed var(--line);border-radius:var(--r);color:var(--mut);cursor:pointer;text-align:center;padding:16px}
.addcard:hover{border-color:var(--acc);color:var(--acc)}.addcard b{font-size:28px;line-height:1}

/* ---------- Simgeler, yıldız, çipler ---------- */
.ico{margin-left:8px;vertical-align:middle;border:0;background:none;color:var(--mut);cursor:pointer;padding:4px;border-radius:7px;line-height:0;transition:background .15s,color .15s}
.ico:hover{color:var(--acc);background:var(--accbg)}
/* Grafik simgesi kalem adının son kelimesiyle aynı satırda kalır: eksi sağ boşlukla satırı taşırmaz, hücrenin sağ iç boşluğuna sığar */
td.name .ico{margin-right:-34px}
td.name:has(.ico){padding-right:46px}
.star{border:0;background:none;color:var(--mut);cursor:pointer;font-size:17px;line-height:1;padding:2px 4px;border-radius:6px;transition:color .15s,transform .15s}
.star:hover{color:#f59e0b;transform:scale(1.12)}.star.on{color:#f59e0b}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--mut);cursor:pointer;font:inherit;font-size:13px;font-weight:500;transition:border-color .15s,color .15s,background .15s}
button.chip{border-style:dashed}button.chip:hover{border-color:var(--acc);color:var(--acc);background:var(--accbg)}
.chip i,.dot{display:inline-block;width:10px;height:10px;border-radius:50%;opacity:.35}.dot{margin-right:6px;opacity:1}
.chip.on{color:var(--tx);border-color:var(--line);box-shadow:var(--sh1)}.chip.on i{opacity:1}
span.chip{cursor:default}
.chip .chipx{border:0;background:none;color:var(--mut);cursor:pointer;font:inherit;font-size:16px;line-height:1;padding:0 0 0 2px}.chip .chipx:hover{color:var(--bad)}
.refn{margin-left:8px;color:var(--mut);font-size:11px}
/* Sektördeki yeri: konum çubuğu (solda sektörün en kötüsü, sağda en iyisi) */
.pos{position:relative;display:inline-block;width:96px;height:6px;border-radius:99px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);vertical-align:middle}
.pos i{position:absolute;top:-4px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--mut);border:2px solid var(--card);box-shadow:var(--sh1)}
.pos i.good{background:var(--good)}.pos i.bad{background:var(--bad)}

/* ---------- Sınıflandırma (yalnızca yerel yönetici) ve şirket sayfasındaki sektör ---------- */
.cosec{display:block;margin:-8px 0 14px;color:var(--mut);font-size:12px}.cosec a{color:var(--acc);text-decoration:none}.cosec a:hover{text-decoration:underline}
.cosec select{display:block;width:100%;margin-top:4px;padding:5px 8px;font-size:12px}
#cls button.chip{border-style:solid}#cls .chip b{margin-left:2px;font-weight:600;color:var(--mut)}#cls .chip.on b{color:inherit}
#clsQ{min-width:220px}
.clsbulk{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--mut)}
.clstbl tbody tr.sel{background:var(--accbg)}
.clstbl select{font-size:12px;padding:4px 6px}
.seclink{border:0;background:none;padding:2px 0;color:var(--acc);cursor:pointer;font:inherit;font-size:12px;text-align:left}.seclink:hover{text-decoration:underline}

/* ---------- Yükleniyor iskeleti (açılışta ve şirket tabloları gelirken) ---------- */
.sk{border-radius:8px;background:linear-gradient(90deg,var(--bg2) 25%,var(--hover) 40%,var(--bg2) 60%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}
.sk-h{width:190px;height:30px;margin:4px 0 18px}
.sk-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sk-in{width:260px;height:38px}.sk-seg{width:300px;height:38px}.sk-sel{width:200px;height:38px}
.sk-tbl{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:6px 16px;box-shadow:var(--sh1)}
.sk-row{height:16px;margin:16px 0}.sk-row:nth-child(3n+2){width:88%}.sk-row:nth-child(3n){width:94%}
.card .sk-l{width:60%;height:12px;margin:2px 0 10px}.card .sk-v{width:80%;height:24px}

/* ---------- Grafik penceresi ---------- */
#modal{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}
#modal .dlg{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px;width:min(760px,100%);box-shadow:0 30px 80px -20px rgba(0,0,0,.45);animation:pop .18s ease-out}
#modal h3{margin:0 30px 2px 0;font-size:17px;font-weight:700}#modal .sub2{color:var(--mut);font-size:12px;margin-bottom:12px}
#modal .cv{position:relative;height:340px}
#modal .xbtn{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:10px;background:none;color:var(--mut);font-size:22px;line-height:1;cursor:pointer}
#modal .xbtn:hover{background:var(--bg2);color:var(--tx)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}

/* ---------- Yönetici yetkisi (yalnızca görünüm; asıl denetim sunucudadır) ---------- */
body.ro label[for="file"],body.ro label[for="fileTarget"],body.ro .addyear,body.ro .addbtn,body.ro .x,body.ro [data-add]{display:none!important}
body.ro .star{pointer-events:none}

/* ---------- Sorumluluk reddi (her sayfanın altında) ---------- */
#disclaimer{max-width:960px;margin:8px 24px 32px;padding-top:16px;border-top:1px solid var(--line);color:var(--mut);font-size:11.5px;line-height:1.6}
#disclaimer p{margin:0 0 8px}
#disclaimer b{color:var(--tx);font-weight:600}
#disclaimer a{color:var(--acc);text-decoration:none}#disclaimer a:hover{text-decoration:underline}

/* ---------- Dar ekran ---------- */
@media(max-width:800px){
  main{padding:14px}
  #disclaimer{margin:8px 14px 24px}
  /* Üst çubuk tek satır kalır (sabit olduğu için ekranı kaplamasın); menü sığmazsa yana kaydırılır */
  #bar{padding:8px 12px}
  .lnk{flex:1 1 auto;overflow-x:auto;scrollbar-width:none}.lnk::-webkit-scrollbar{display:none}
  .bar-r{flex:none}
  #bar .btn{padding:6px 10px;font-size:12px}
  #brand{margin-right:8px}
  .navlink{padding:6px 8px;font-size:13px}
  #app{grid-template-columns:minmax(0,1fr)}
  #app>header{position:static}
  #tabs{flex-direction:row;flex-wrap:wrap}
  #tabs button.on::before{display:none}
  .addyear,#app>header .cmpbtn{margin-top:8px;display:inline-block}
  #homeQ{min-width:0;width:100%}
  .home-h h2{font-size:22px}
}
@media(max-width:560px){#brand .bname{display:none}#brand{margin-right:4px}.backbtn{margin-right:6px}}
