/* hotspot-box yönetim paneli — sade/compact konsol, açık/koyu tema (html[data-theme]) */
@import url(/portal-assets/fonts.css);
:root{--bg:#f5f6fa;--panel:#fff;--panel2:#f7f8fb;--line:#e5e7ee;--line2:#cbd0da;--ink:#111827;--text:#374151;--muted:#6b7280;
  --p:#4f46e5;--p2:#4338ca;--p-soft:#eef2ff;--p-line:#c7d2fe;--ok:#15803d;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--err:#b91c1c;--err-soft:#fee2e2;--sky:#0369a1;--sky-soft:#e0f2fe;
  --shadow:0 1px 2px rgba(17,24,39,.05);--r:12px;--sbw:228px;--field-line:#868fa1;--ring:var(--p)}
html[data-theme=dark]{--bg:#0f1117;--panel:#171b25;--panel2:#1d2230;--line:#2a3040;--line2:#3b4356;--ink:#eef0f6;--text:#c7cbd6;--muted:#8b93a7;
  --p:#818cf8;--p2:#6366f1;--p-soft:#1e2140;--p-line:#3730a3;--ok:#4ade80;--ok-soft:#0f2e1c;--warn:#fbbf24;--warn-soft:#3a2a0a;--err:#f87171;--err-soft:#3b1212;--sky:#38bdf8;--sky-soft:#0c2a3d;--shadow:0 1px 2px rgba(0,0,0,.4);--field-line:#606b86;--ring:var(--p)}
*{box-sizing:border-box}html,body{margin:0}
body{font:13.5px/1.5 "Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:500;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--p)}
/* odak: halka/çift çerçeve yok — yumuşak gölge (klavye erişilebilirliği için buton/bağlantılarda da aynı gölge) */
:focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 4px 16px rgba(79,70,229,.28)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:1px;box-shadow:0 6px 18px rgba(17,24,39,.14)}
button,a,input,select{touch-action:manipulation}
.skip{position:absolute;left:8px;top:-60px;z-index:100;padding:8px 12px;border-radius:8px;background:var(--p);color:#fff;font-weight:700;text-decoration:none}.skip:focus{top:8px}
.app{display:flex;min-height:100vh}
/* kenar çubuğu */
.sb{width:var(--sbw);flex:0 0 var(--sbw);background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 10px;position:sticky;top:0;height:100vh;overflow:auto}
.sb__brand{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 14px}.sb__id{display:flex;flex-direction:column;gap:3px;min-width:0}
.sb__logo{display:inline-block;position:relative;line-height:0;padding:6px 8px;margin:-6px -8px;border-radius:12px;overflow:hidden;isolation:isolate}
.sb__logo svg.wm{height:34px;width:auto;aspect-ratio:342/87;display:block;position:relative;z-index:1;animation:wmglow 7s ease-in-out infinite}
.sb__logo::before{content:"";position:absolute;inset:-30% -70%;background:repeating-linear-gradient(115deg,transparent 0 9px,rgba(79,70,229,.13) 9px 12px);transform:translateX(-60%);opacity:0;animation:wmstripes 7s ease-in-out infinite;pointer-events:none}
html[data-theme=dark] .sb__logo::before{background:repeating-linear-gradient(115deg,transparent 0 9px,rgba(165,180,252,.16) 9px 12px)}
@keyframes wmstripes{0%,58%{transform:translateX(-60%);opacity:0}64%{opacity:1}88%{opacity:1}100%{transform:translateX(60%);opacity:0}}
@keyframes wmglow{0%,58%,100%{filter:drop-shadow(0 0 0 rgba(79,70,229,0))}76%{filter:drop-shadow(0 2px 8px rgba(79,70,229,.38))}}
html[data-theme=dark] svg.wm text:first-of-type{fill:#e5e7eb}   /* koyu temada "hotspot" yazısı açık renk */
.mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--p);color:#fff;font:800 16px "DM Sans",sans-serif;flex:0 0 auto}
.sb__brand strong{display:block;font:700 14px "DM Sans",sans-serif;color:var(--ink);line-height:1.2}.sb__brand span{font-size:11.5px;color:var(--muted)}
.nav{display:flex;flex-direction:column;gap:1px}
.nav a{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-weight:600;font-size:13px;position:relative;transition:background .12s,color .12s}
.nav a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;opacity:.8}
.nav a:hover{background:var(--panel2);color:var(--ink)}
.nav a.on{background:var(--p-soft);color:var(--p)}.nav a.on::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--p)}
.nav .badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--p-soft);color:var(--p);font-size:11px;font-weight:700}
.sb__bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.gw{display:flex;gap:9px;align-items:center;padding:9px 10px;border-radius:8px;background:var(--panel2);margin-bottom:4px}
.gw i{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:0 0 auto}.gw i.off{background:var(--err)}
.gw strong{display:block;font-size:12.5px;color:var(--ink)}.gw span{font-size:11px;color:var(--muted)}
.tgl{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 10px;border-radius:8px;border:0;background:transparent;color:var(--text);font:600 13px "Manrope",sans-serif;cursor:pointer;width:100%;text-align:left}
.tgl:hover{background:var(--panel2)}.tgl svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.tgl .sw{margin-left:auto;width:32px;height:18px;border-radius:999px;background:var(--line2);position:relative;transition:background .2s}
.tgl .sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:left .2s}
html[data-theme=dark] .tgl .sw{background:var(--p)}html[data-theme=dark] .tgl .sw::after{left:16px}
.nav a.out{color:var(--err)}.nav a.out:hover{background:var(--err-soft)}
.ver{font-size:11px;color:var(--muted);padding:8px 10px 0}
/* ana alan */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:14px;padding:10px 22px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;min-height:54px}
.over{margin:0;font:700 10px "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--p)}
.top .ttl{margin:0;font:700 16px "DM Sans",sans-serif;color:var(--ink);line-height:1.2}
.top__r{margin-left:auto;display:flex;align-items:center;gap:12px}
.who{display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid var(--line)}
.who .av{width:30px;height:30px;border-radius:8px;background:var(--p-soft);color:var(--p);display:grid;place-items:center;font:700 13px "DM Sans",sans-serif}
.who strong{display:block;font-size:12.5px;color:var(--ink);font-weight:600}.who span{font-size:11px;color:var(--muted)}
.burger{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--text);padding:8px}.burger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
main{padding:20px 22px 36px;max-width:1440px;width:100%}
main h1{margin:0 0 14px;font:700 20px/1.25 "DM Sans",sans-serif;color:var(--ink)}main h1 .mut{font-size:12.5px;font-weight:500}
main h2{margin:18px 0 8px;font:700 14px "DM Sans",sans-serif;color:var(--ink)}
.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.hero h1{margin:0}.hero h1.ok{color:var(--ok)}.hero p{margin:2px 0 0;color:var(--muted);font-size:13px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:14px}
.kpi{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow)}
.kpi b{display:block;font:700 26px/1.1 "DM Sans",sans-serif;color:var(--ink);margin:10px 0 6px}
.kpi span{display:block;color:var(--text);font-weight:600;font-size:13px}.kpi small{display:block;color:var(--muted);font-size:11.5px}
.kpi .ic{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--p-soft);color:var(--p)}
.kpi .ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kpi .ic.ok{background:var(--ok-soft);color:var(--ok)}.kpi .ic.warn{background:var(--warn-soft);color:var(--warn)}.kpi .ic.sky{background:var(--sky-soft);color:var(--sky)}
.live{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:10.5px;font-weight:700;vertical-align:middle}
.live::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.cols{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,1fr);gap:14px}
.card h3{margin:0;font:700 14px "DM Sans",sans-serif;color:var(--ink)}.card .sub{margin:2px 0 12px;color:var(--muted);font-size:12.5px}
.chart{width:100%;height:auto;display:block}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.donut{display:grid;place-items:center;position:relative;padding:6px 0}
.donut .c{position:absolute;text-align:center}.donut .c b{display:block;font:700 26px "DM Sans",sans-serif;color:var(--ink)}.donut .c span{font-size:11.5px;color:var(--muted)}
/* tablolar */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
td{font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}tbody tr:hover td,tr:hover td{background:var(--panel2)}
th a.sort{display:inline-flex;align-items:center;gap:5px;min-height:26px;color:inherit;text-decoration:none;white-space:nowrap;border-radius:5px;padding:2px 5px;margin:-2px -5px}
th a.sort:hover{background:var(--panel2);color:var(--ink)}th a.sort.on{color:var(--p)}th a.sort i{font-style:normal;font-size:9px;opacity:.55}th a.sort.on i{opacity:1}
/* formlar — sade, native görünüm */
label{display:block;font-size:12.5px;font-weight:600;margin:10px 0 4px;color:var(--text)}
/* form kutuları: sade tek kenarlık; hover hafif gölge, odakta biraz daha belirgin gölge (halka yok) */
input,select,textarea{width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--field-line);border-radius:8px;font:500 13.5px "Manrope",sans-serif;background:var(--panel);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .18s}
input:hover,select:hover,textarea:hover{box-shadow:0 3px 10px rgba(17,24,39,.08)}
input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 6px 18px rgba(17,24,39,.14)}
html[data-theme=dark] input:hover,html[data-theme=dark] select:hover,html[data-theme=dark] textarea:hover{box-shadow:0 3px 10px rgba(0,0,0,.35)}
html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--ring);box-shadow:0 6px 18px rgba(0,0,0,.5)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
input[type=file]{padding:5px;font-size:12.5px}
textarea{min-height:110px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}
.pw{position:relative}.pw input{padding-right:64px}
.pw button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:auto;min-height:0;height:26px;margin:0;padding:0 8px;border-radius:5px;background:transparent;color:var(--p);box-shadow:none;font-size:12px;font-weight:600}
.pw button:hover{background:var(--p-soft);transform:translateY(-50%)}
span.pw{display:block}span.pw input{padding-right:38px}span.pw.pw--gen input{padding-right:98px}
.pw button.pw__t{right:4px;width:28px;padding:0;display:grid;place-items:center;color:var(--muted)}.pw button.pw__t[aria-pressed=true]{color:var(--p)}.pw__t svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pw button.pw__g{right:36px;padding:0 8px;font-size:11.5px;letter-spacing:.02em}
.secret{display:inline-block;font:600 15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;padding:8px 12px;border:1px dashed var(--p);border-radius:8px;background:var(--p-soft);color:var(--ink);user-select:all}
.once{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}.once .btn.ok,.once button.ok{background:var(--ok,#16a34a);color:#fff}
button,.btn{background:var(--p);color:#fff;border:1px solid transparent;border-radius:7px;padding:7px 14px;font:600 13px "Manrope",sans-serif;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.4;transition:background .12s}
/* üzerine gelme: her düğme KENDİ rengini hafifçe koyulaştırır (yarı saydam katman). Önceki genel koyu mor dolgu açık zeminli düğme ve seçim kutularında
   (cs__btn, sekmeler, dil, ikincil) koyu yazıyı okunmaz yapıyordu — kullanıcı geri bildirimi 2026-10-11. */
button:hover,.btn:hover{background-image:linear-gradient(rgba(17,24,39,.07),rgba(17,24,39,.07))}button:active,.btn:active{opacity:.9}
html[data-theme=dark] button:hover,html[data-theme=dark] .btn:hover{background-image:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08))}
.btn.sec,button.sec{background:var(--panel);color:var(--ink);border-color:var(--line2)}.btn.sec:hover,button.sec:hover{background:var(--panel2)}
.btn.danger,button.danger{background:var(--err-soft);color:var(--err);border-color:transparent}
.acts{display:flex;gap:5px;flex-wrap:wrap;align-items:center;min-width:250px}
button.sm,.btn.sm{padding:4px 9px;font-size:12px;min-height:28px;border-radius:6px}
.lim{display:inline-flex;gap:4px;align-items:center}.lim input[type=number]{width:74px;min-height:28px;padding:3px 7px;font-size:12px;border-radius:6px}
.lim .chk{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:11.5px;font-weight:500;color:var(--muted)}.lim .chk input{width:auto;min-height:0;margin:0}
.flash{background:var(--ok-soft);border:1px solid #bbf7d0;color:#166534;padding:9px 12px;border-radius:8px;margin-bottom:12px;font-weight:500}
.err{background:var(--err-soft);border:1px solid #fecaca;color:#991b1b;padding:9px 12px;border-radius:8px;margin-bottom:12px;font-weight:500}
html[data-theme=dark] .flash{color:#86efac;border-color:#14532d}html[data-theme=dark] .err{color:#fca5a5;border-color:#7f1d1d}
.mut{color:var(--muted)}code{background:var(--panel2);border:1px solid var(--line);padding:1px 5px;border-radius:5px;font-size:12px}
.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--panel2);color:var(--text)}
.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.no{background:var(--err-soft);color:var(--err)}
form.inline{display:inline}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1;min-width:180px}.row>button,.row>.btn{flex:0 0 auto;min-width:0}
/* ayarlar: sekmeler + alan grupları */
.stabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;flex-wrap:wrap}
.stab{padding:9px 14px;border-radius:8px 8px 0 0;color:var(--muted);text-decoration:none;font-weight:600;font-size:13px;border:1px solid transparent;border-bottom:0;margin-bottom:-1px}
.stab:hover{color:var(--ink);background:var(--panel2)}.stab.on{color:var(--p);background:var(--panel);border-color:var(--line)}
.spanel{display:none}.spanel.on{display:block}
.fs{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
.fs h4{margin:0 0 6px;font:700 13px "DM Sans",sans-serif;color:var(--ink)}.fs h4 .mut{font-weight:500;font-size:11.5px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px 16px}
.f label{margin-top:8px}
.fs.test .stat{margin:6px 0 10px;font-size:13px}
.fbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 20px}
/* portal yönetimi */
.cols-eq{grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr)}
.mlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.mrow{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);cursor:grab}
.mrow .grip{color:var(--muted);letter-spacing:-3px;font-size:13px}.mrow .sw{display:flex;align-items:center;gap:8px;margin:0;flex:1;font-weight:500;font-size:13px}.mrow .sw input{width:16px;height:16px;margin:0}
.mrow .rad{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;color:var(--muted);font-weight:500}.mrow .rad input{width:14px;height:14px;margin:0}
.mrow.dim{opacity:.55}.mrow .ud{display:flex;gap:3px}.mrow .ud button{min-height:26px;padding:1px 7px}
.colr{display:flex;align-items:center;gap:10px}.colr input[type=color]{width:48px;height:32px;padding:2px;min-height:0;border-radius:6px;cursor:pointer}
.thumb{display:inline-block;max-height:48px;max-width:150px;border-radius:6px;border:1px solid var(--line);background:#fff;padding:3px;vertical-align:middle;margin:0 8px 6px 0}
/* medya alanı (portal ayarları): etiketler üstte aynı hizada, mevcut dosya kutusu sabit yükseklikte (küçük resim ya da dosya etiketi + kaldır), dosya seçici altta aynı hizada */
/* kaldırılabilir medya (.rmw): üzerine gelince sağ üstte × (dokunmatikte hep görünür); tıklayınca gizli remove_/del_bg alanı etkinleşir, önizleme soluklaşır, "Geri al" çıkar; silme Kaydet ile olur */
.rmw{position:relative;display:inline-flex;align-items:center}.rmw>.rmx{position:absolute;top:-7px;right:-7px;z-index:2;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;border:2px solid #fff;background:#111827;color:#fff;font:700 14px/1 "Manrope",sans-serif;display:grid;place-items:center;opacity:0;transition:opacity .12s,background .12s;box-shadow:0 1px 4px rgba(17,24,39,.35);cursor:pointer}.rmw:hover>.rmx,.rmw:focus-within>.rmx{opacity:1}.rmw>.rmx:hover{background:var(--err,#b91c1c)}@media (hover:none){.rmw>.rmx{opacity:1}}
.rmw>.rmu{display:none;min-height:0;padding:3px 8px;border-radius:999px;font-size:11.5px;background:var(--ink);color:#fff}.rmw.is-rm>.rmx{display:none}.rmw.is-rm>.rmu{display:inline-flex;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;white-space:nowrap}.rmw.is-rm>.thumb,.rmw.is-rm>.tag,.rmw.is-rm>img{opacity:.25;filter:grayscale(1)}
figure.bgi.rmw{display:block}figure.bgi.rmw>.rmx{top:6px;right:6px}figure.bgi.rmw .rmu{display:none;position:static;transform:none;min-height:0;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--ink);color:#fff}figure.bgi.rmw.is-rm .rmu{display:inline-flex}figure.bgi.rmw.is-rm img{opacity:.25;filter:grayscale(1)}figure.bgi.rmw.is-rm .rad{visibility:hidden}
/* video önizlemesi: kapak gibi küçük resim + sol altta "video" damgası */
.rmw.vth{border-radius:6px}.rmw.vth>video.thumb{display:block;max-height:44px;max-width:160px;width:auto;aspect-ratio:16/9;object-fit:cover;background:#111827;padding:0;border:1px solid var(--line);border-radius:6px}.rmw>.vbadge{position:absolute;left:5px;bottom:5px;z-index:1;display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 4px;border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font:700 9.5px/1.5 "Manrope",sans-serif;letter-spacing:.4px;text-transform:uppercase;pointer-events:none}.rmw>.vbadge svg{width:9px;height:9px;fill:#fff;stroke:none}.rmw.is-rm>video.thumb{opacity:.25;filter:grayscale(1)}.rmw.is-rm>.vbadge{display:none}
.row.media{align-items:flex-start}.row.media>.mf{min-width:150px}.mf{display:flex;flex-direction:column}.mf>label{margin-bottom:4px}.mf__cur{height:72px;display:flex;align-items:center;align-content:center;flex-wrap:wrap;gap:4px 10px;padding:4px 0;margin-bottom:6px;overflow:hidden}.mf__cur .thumb{margin:0;max-height:44px;max-width:min(160px,100%)}.mf__cur .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mf__cur .chk{margin:0}.mf input[type=file]{margin-top:auto}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:12px;margin:0;font-weight:500}.chk input{width:15px;height:15px;margin:0}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:10px}
.bgi{margin:0;border:2px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel2);cursor:grab;counter-increment:bgi}.gal{counter-reset:bgi}.bgi:first-child{border-color:var(--p)}.bgi figcaption::before{content:counter(bgi);min-width:20px;height:20px;border-radius:999px;background:var(--panel);border:1px solid var(--line);display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted)}.bgi:first-child figcaption::before{content:attr(data-first);padding:0 7px;background:var(--p);border-color:var(--p);color:#fff;white-space:nowrap;font-size:10.5px}.bgi figcaption{flex-wrap:wrap;align-items:center;row-gap:4px}.bgi.dragging{opacity:.45}.bgi .ud{display:flex;gap:3px;margin-left:auto}.bgi .ud button{min-height:24px;padding:0 7px;font-size:12px}
.bgi img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.bgi figcaption{display:flex;justify-content:space-between;gap:6px;padding:5px 7px;font-size:11.5px}
.bgi .rad{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:11.5px;font-weight:500}.bgi .rad input{width:13px;height:13px;margin:0}
.prev{position:sticky;top:74px}.pvbar{display:flex;gap:5px;margin-bottom:8px}.pvbar .on{background:var(--p-soft);color:var(--p);border-color:var(--p-line)}
.pvwrap{display:flex;justify-content:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px;overflow:auto}
.pvwrap iframe{height:740px;max-width:100%;border:0;border-radius:8px;background:#fff;transition:width .2s}
/* giriş ekranı */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth__vis{position:relative;overflow:hidden;background:radial-gradient(70% 60% at 20% 20%,#6366f1 0,transparent 60%),radial-gradient(60% 60% at 90% 30%,#38bdf8 0,transparent 55%),radial-gradient(60% 70% at 50% 100%,#a855f7 0,transparent 60%),#1e1b4b;color:#fff;display:flex;align-items:center;justify-content:center;padding:48px}
/* Giriş görseli arka planı: rastgele kaynaklardan yayılan kablosuz dalga halkaları (View::auth içi betik konum/süre/boyutu her turda yeniler) */
.auth__fx{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.auth__src{position:absolute;inset:0;display:block}
.auth__fx i{position:absolute;left:var(--x,50%);top:var(--y,50%);width:var(--s,320px);height:var(--s,320px);margin:calc(var(--s,320px) / -2) 0 0 calc(var(--s,320px) / -2);border-radius:50%;border:1.5px solid rgba(255,255,255,.85);opacity:0;transform:scale(.06);animation:wave var(--d,8s) cubic-bezier(.2,.6,.3,1) infinite;animation-delay:var(--dl,0s)}
.auth__fx i.c{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border:0;background:#fff;box-shadow:0 0 10px 2px rgba(255,255,255,.6);transform:none;animation-name:wavedot}
@keyframes wave{0%{transform:scale(.06);opacity:0}12%{opacity:.28}100%{transform:scale(1);opacity:0}}
@keyframes wavedot{0%,100%{opacity:0}20%,60%{opacity:.7}}
.auth__vis .in{position:relative;z-index:1;max-width:440px}.auth__vis .over{color:#c7d2fe}.auth__vis h1{font:700 clamp(28px,3.6vw,40px)/1.15 "DM Sans",sans-serif;margin:12px 0 12px}
.auth__vis p{color:#e0e7ff;font-size:14px;line-height:1.6}
/* Giriş görseli — logo sahnesi: parlayan çekirdek + üç yörünge halkası (dönen uydu noktaları) + ortada yüzen, plakasız kelime markası (koyu zemin için beyaz metin). Yalnız süsleme (aria-hidden). */
.orbit{position:relative;width:min(440px,90%);aspect-ratio:1;margin:-56px auto -16px;display:grid;place-items:center}
.orbit__glow{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(125,211,252,.6) 0,rgba(99,102,241,.4) 42%,transparent 70%);filter:blur(16px);animation:glow 5s ease-in-out infinite}
.orbit span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.22);animation:spin 20s linear infinite}
.orbit span:nth-of-type(2){inset:10%;border-color:rgba(255,255,255,.16);animation-duration:13s;animation-direction:reverse}
.orbit span:nth-of-type(3){inset:20%;border-style:dashed;border-color:rgba(255,255,255,.14);animation-duration:8s}
.orbit span::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#fff;box-shadow:0 0 14px 3px rgba(255,255,255,.65)}
.orbit span:nth-of-type(2)::after{width:6px;height:6px;margin-left:-3px;background:#7dd3fc;box-shadow:0 0 12px 3px rgba(125,211,252,.7)}
.orbit span:nth-of-type(3)::after{width:5px;height:5px;margin-left:-2.5px;background:#c4b5fd;box-shadow:0 0 10px 2px rgba(196,181,253,.7)}
.orbit b.wm-box{position:relative;z-index:1;width:auto;height:auto;padding:0;border:0;background:none;box-shadow:none;display:grid;place-items:center;animation:float 6s ease-in-out infinite}
.orbit b.wm-box svg.wm{height:clamp(76px,7vw,104px);width:auto;max-width:calc(100vw * .43);aspect-ratio:342/87;display:block;filter:drop-shadow(0 8px 22px rgba(2,6,23,.6)) drop-shadow(0 0 28px rgba(125,211,252,.45))}
.orbit b.wm-box svg.wm>text{fill:#fff}.orbit b.wm-box svg.wm>g{stroke:#c7d2fe}   /* koyu zeminde: "hotspot" beyaz, sinyal yayları açık mor; "box" rozeti olduğu gibi */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes glow{0%,100%{opacity:.65;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}
.auth__card label.rem{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;font-weight:500;color:var(--text);cursor:pointer}.auth__card .rem input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--p);flex:0 0 auto}.auth__card .rem small{color:var(--muted);font-size:12px;font-weight:400}
@keyframes spin{to{transform:rotate(360deg)}}
.stats{display:flex;gap:24px;margin-top:26px}.stats strong{display:block;font:700 20px "DM Sans",sans-serif}.stats span{font-size:12px;color:#c7d2fe}
.auth__panel{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg)}
.auth__card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 28px 24px;box-shadow:var(--shadow)}
.auth__card h1{margin:4px 0 4px;font:700 22px "DM Sans",sans-serif;color:var(--ink)}.auth__card p.mut{margin:0 0 4px;font-size:13px}
.auth__card button[type=submit]{width:100%;margin-top:16px;min-height:38px}
.auth__foot{margin-top:16px;font-size:11px;color:var(--muted);text-align:center}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:980px){.cols,.cols-eq{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth__vis{display:none}.prev{position:static}}
@media (max-width:820px){
  .sb{position:fixed;left:0;top:0;z-index:20;transform:translateX(-100%);transition:transform .2s}
  body.nav-open .sb{transform:none;box-shadow:0 0 0 100vw rgba(0,0,0,.4)}.burger{display:block}
  .nav a,.tgl{min-height:44px}
  .top{padding:10px 14px}main{padding:16px 14px 28px}.who strong,.who span{display:none}.who{border:0;padding:0}
}
/* sistem info: çubuklar, sparkline, servis listesi, sürüm tablosu */
.bar{height:9px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--p2),var(--p));transition:width .6s ease}
.bar i.warn{background:linear-gradient(90deg,#d97706,var(--warn))}.bar i.err{background:linear-gradient(90deg,#dc2626,var(--err))}
.kpi .bar{margin:2px 0 8px}
.mtr{padding:10px 0;border-top:1px solid var(--line)}.mtr:first-of-type{border-top:0;padding-top:0}
.mth{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px;font-size:13px}.mth span{font-weight:600;color:var(--ink)}.mth b{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.spark{display:block;width:100%;height:46px;margin:4px 0 2px}.spark.big{height:110px}
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px}
.svc{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--panel2);font-size:12.5px}.svc span{flex:1;color:var(--ink)}.svc b{font-size:11px;color:var(--muted);font-weight:600}
.svc i{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:0 0 auto;box-shadow:0 0 0 3px var(--ok-soft)}.svc i.off{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.kv{width:100%;border-collapse:collapse}.kv th{text-align:left;width:38%;color:var(--muted);font-weight:600;font-size:12.5px;padding:7px 8px 7px 0;vertical-align:top;border-top:1px solid var(--line)}.kv td{padding:7px 0;font-size:13px;color:var(--ink);border-top:1px solid var(--line);overflow-wrap:anywhere}.kv tr:first-child th,.kv tr:first-child td{border-top:0}
.kpi em,.mth em{font-style:normal}.kpi small em{color:var(--text)}
/* hs-select: sitenin tasarımıyla açılır liste (yerel OS menüsü yerine) */
.cs{position:relative;width:100%}.cs>select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;border:0}
.cs__btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--ink);font:500 13.5px "Manrope",sans-serif;text-align:left;cursor:pointer;transition:box-shadow .18s,border-color .15s}
.cs__btn:hover{box-shadow:0 3px 10px rgba(17,24,39,.08)}.cs.on .cs__btn{box-shadow:0 6px 18px rgba(17,24,39,.14)}.cs__btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.cs__btn:disabled,.cs.dis .cs__btn{opacity:.55;cursor:not-allowed}
.cs__val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs__val.ph{color:var(--muted)}
.cs__chev{flex:0 0 auto;width:8px;height:8px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .18s}.cs.on .cs__chev{transform:translateY(2px) rotate(-135deg)}
.cs__list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:none;max-height:260px;overflow:auto;padding:6px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 16px 40px rgba(17,24,39,.16),0 2px 6px rgba(17,24,39,.06);outline:none}
.cs.up .cs__list{top:auto;bottom:calc(100% + 6px)}.cs.on .cs__list{display:block;animation:csin .14s ease-out}
@keyframes csin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cs__opt{padding:8px 10px 8px 30px;border-radius:7px;font-size:13.5px;color:var(--ink);cursor:pointer;position:relative;line-height:1.35}
.cs__opt.hi{background:var(--panel2)}.cs__opt.sel{color:var(--p);font-weight:600}.cs__opt.sel::before{content:"";position:absolute;left:11px;top:11px;width:5px;height:9px;border-right:2px solid var(--p);border-bottom:2px solid var(--p);transform:rotate(45deg)}
.cs__opt.dis{opacity:.45;cursor:not-allowed}.cs__grp{padding:8px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
html[data-theme=dark] .cs__list{box-shadow:0 16px 40px rgba(0,0,0,.55)}html[data-theme=dark] .cs__btn:hover{box-shadow:0 3px 10px rgba(0,0,0,.35)}html[data-theme=dark] .cs.on .cs__btn{box-shadow:0 6px 18px rgba(0,0,0,.5)}
.lim .cs,.acts .cs{width:auto;min-width:120px}
@media (prefers-reduced-motion:reduce){.cs.on .cs__list{animation:none}.cs__chev{transition:none}}
/* durum şeridi (DNS kaydı açık/kapalı gibi): tek bakışta açık/kapalı */
.state{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r);margin-bottom:14px;border:1px solid var(--line);background:var(--panel)}
.state i{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.state.on i{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.state.off i{background:var(--err);box-shadow:0 0 0 4px var(--err-soft)}
.state>div{flex:1;min-width:0}.state b{display:block;font:700 14px "DM Sans",sans-serif;color:var(--ink)}.state.on b{color:var(--ok)}.state.off b{color:var(--err)}
.state span{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.state form{margin:0;flex:0 0 auto}
.state.off{background:var(--err-soft);border-color:transparent}html[data-theme=dark] .state.off{background:#2a1515}
/* etiket açıklama baloncuğu: etiket tek satır kalır, açıklama tıklayınca kutu içinde açılır */
label{display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:20px;min-width:0}
label>.tag{white-space:nowrap}
.hint{position:relative;display:inline-flex;flex:0 0 auto}
.hint__btn{width:20px;height:20px;padding:0;border:0;border-radius:6px;background:var(--p-soft);color:var(--p);cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s}
.hint__btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hint__btn:hover{background:var(--p-line)}html[data-theme=dark] .hint__btn:hover{background:var(--p-line)}
.hint__pop{display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:50;width:max-content;max-width:min(340px,80vw);padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-weight:500;font-size:12.5px;line-height:1.5;white-space:normal;box-shadow:0 14px 34px rgba(17,24,39,.16),0 2px 6px rgba(17,24,39,.06)}
.hint__pop::before{content:"";position:absolute;left:var(--ax,8px);top:-5px;width:9px;height:9px;background:var(--panel);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.hint.on .hint__pop{display:block;animation:csin .14s ease-out}
main h1 .hint,.card h3 .hint{vertical-align:middle;margin-left:4px}main h1 .hint__btn{width:22px;height:22px}main h1 .hint__btn svg{width:14px;height:14px}.card h3 .hint__btn{width:18px;height:18px}.card h3 .hint__btn svg{width:12px;height:12px}
.hint__pop{font-family:"DM Sans",system-ui,sans-serif;font-weight:400;font-size:13px;color:var(--text)}.hint__pop b{font-weight:600}html[data-theme=dark] .hint__pop{box-shadow:0 14px 34px rgba(0,0,0,.55)}
/* form hücreleri alt hizada: etiket tek satır + kutu; grid/flex hücreleri aynı çizgide */
.fgrid .f,.row>div{display:flex;flex-direction:column;justify-content:flex-end}
.fgrid .f>input,.fgrid .f>select,.fgrid .f>.cs,.row>div>input,.row>div>select,.row>div>.cs{margin-top:0}
.chk,.rad,.sw{white-space:normal;overflow:visible}
/* dil anahtarı TR | EN (kenar çubuğu + giriş ekranı) */
.lsw{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:var(--panel2);margin:2px 10px 6px}
.lsw a{min-width:38px;padding:5px 8px;border-radius:6px;text-align:center;font:700 11.5px "Manrope",sans-serif;color:var(--muted);text-decoration:none;letter-spacing:.04em}
.lsw a:hover{color:var(--ink)}.lsw a.on{background:var(--panel);color:var(--p);box-shadow:var(--shadow)}
.lsw--sm{margin:0}.auth__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* htmx: istek sürerken hedef hafif soluklaşır; ince yükleme çubuğu */
.htmx-request.hx-dim,.htmx-request .hx-dim{opacity:.55;transition:opacity .15s}
.hx-bar{height:2px;background:linear-gradient(90deg,transparent,var(--p),transparent);background-size:200% 100%;opacity:0;transition:opacity .15s}
.htmx-request .hx-bar,.htmx-request.hx-bar{opacity:1;animation:hxbar 1s linear infinite}@keyframes hxbar{from{background-position:200% 0}to{background-position:-200% 0}}
/* lisans şeridi */
.lic{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:13px;border:1px solid var(--line);background:var(--panel)}
.lic b{color:var(--ink)}.lic.warn{background:var(--warn-soft);border-color:transparent}.lic.bad{background:var(--err-soft);border-color:transparent}.lic a{margin-left:auto;font-weight:700}
.lic.imp,.lic.rst{position:sticky;top:0;z-index:30;box-shadow:0 2px 8px rgba(0,0,0,.06)}.lic.imp .outf{margin-left:auto}
/* raporlar */
.rep-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}.rep-bar .chips{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--text);text-decoration:none;background:var(--panel)}
.chip:hover{background:var(--panel2)}.chip.on{background:var(--p-soft);color:var(--p);border-color:transparent}
.rep-range{flex:1 1 360px;margin:0}.rep-range>div{min-width:150px}.rep-exp{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.rep-range-txt{margin:-4px 0 12px}
.dl{font-weight:700;color:var(--muted)}.dl.up{color:var(--ok)}.dl.down{color:var(--err)}.dl .mut{font-weight:500}
.chart-wrap{overflow-x:auto}.chart-wrap .chart{min-width:560px}.chart{color:var(--text)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
table.heat{font-size:11px;border-collapse:separate;border-spacing:2px;min-width:720px}table.heat th{padding:2px 4px;border:0;text-align:center;text-transform:none;letter-spacing:0}
table.heat td{padding:0;border:0;height:24px;min-width:26px;text-align:center;border-radius:4px;color:var(--ink);background:color-mix(in srgb,var(--p) calc(var(--a,0)*100%),var(--panel2));font-variant-numeric:tabular-nums}
td.num{text-align:right;font-variant-numeric:tabular-nums}
@media print{.sb,.top,.no-print,.lic,.skip,.hx-bar{display:none!important}.app,.main{display:block}main{padding:0;max-width:none}.card,.kpi{box-shadow:none;break-inside:avoid}body{background:#fff}}
.grid.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (min-width:1100px){.grid.g3{grid-template-columns:repeat(3,1fr)}}th.num{text-align:right}

/* ================= duyarlı yerleşim — tüm panel sayfaları (yatay taşma yok, dikeyde ekrana sığar) ================= */
.app{min-height:100vh;min-height:100dvh}
.sb{height:100vh;height:100dvh;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.main{overflow-x:clip}                                   /* sayfa asla yatay kaymaz; geniş içerik kendi kabında kayar */
main{padding:clamp(12px,2.4vw,22px) clamp(12px,2.4vw,22px) 36px}
main h1{font-size:clamp(17px,2.2vw,20px);text-wrap:balance}
.top .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top>div:nth-child(2){min-width:0}
/* ızgaralar: dar ekranda sütun asla ekrandan geniş olmaz */
.grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.grid.g3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.fgrid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.svcs{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.row>*{min-width:min(180px,100%)}
.kpi b{font-size:clamp(20px,2.4vw,26px)}
img,svg,video,iframe{max-width:100%}
/* geniş tablolar ve grafikler kendi içinde kayar */
.card{min-width:0}
.chart-wrap,.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pvwrap iframe{height:min(740px,78vh);height:min(740px,78dvh)}
.tbl-wrap{max-width:100%}.tbl-wrap>table{min-width:100%}            /* admin.js her tabloyu sarar; tablo tam genişlikte kalır, sığmazsa kutu kayar */
@media (max-width:820px){table:not(.kv) th{white-space:nowrap}}
@media (max-width:820px){
  .stabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.stabs::-webkit-scrollbar{display:none}.stab{white-space:nowrap}
  .rep-exp{margin-left:0}
  .acts{min-width:0}
  .hero{gap:10px}.hero .btn{width:100%;text-align:center}
  .state{flex-wrap:wrap}.state form{width:100%}.state form button{width:100%}
  .fbar{position:sticky;bottom:0;z-index:4;background:var(--bg);padding:10px 0;margin-bottom:0}
  .kv th{width:42%}
}
@media (max-width:480px){
  .card{padding:14px}
  .row{gap:8px}
  .row>button,.row>.btn{width:100%}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}
  .lim{flex-wrap:wrap}
}
/* kısa ekran / yatay telefon: üst çubuk sabit kalmaz, kenar çubuğu sıkışır, giriş kartı yukarıdan başlar */
@media (max-height:560px){
  .top{position:static;min-height:46px;padding-top:6px;padding-bottom:6px}
  .nav a{min-height:32px;padding-top:5px;padding-bottom:5px}
  .sb__brand{padding-bottom:8px}.gw{display:none}
  .auth{min-height:auto}.auth__panel{align-items:flex-start;padding:16px}
  .fbar{position:static}
}
/* giriş / parola ekranları */
.auth{min-height:100vh;min-height:100dvh}
@media (max-width:980px){.auth__panel{padding:max(20px,env(safe-area-inset-top)) 16px 20px}}
@media (max-width:420px){.auth__card{padding:22px 18px 18px;border-radius:12px}}
/* ızgara sütunları içerik yüzünden ekrandan genişlemesin */
.cols>*,.cols-eq>*{min-width:0}
@media (max-width:980px){.cols,.cols-eq{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){
  label{white-space:normal;flex-wrap:wrap}
  .mrow{flex-wrap:wrap;row-gap:6px}.mrow .sw{flex:1 1 100%}.mrow .ud{margin-left:auto}
}
.pvbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
/* 0.6: alarm rozeti, anket editörü */
.nav .badge.bad{background:var(--err-soft);color:var(--err)}
.sv-edit[hidden],.sv-opt[hidden]{display:none!important}
.sv-edit textarea,.fgrid .f>textarea{width:100%;min-height:84px;padding:8px 10px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);font:inherit;resize:vertical}
label.chip input{margin:0}
/* menü grupları (details/summary): tıklayınca açılır, bulunulan sayfanın grubu açık gelir */
.navg{border-radius:8px}
.navg>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 10px;border-radius:8px;color:var(--text);font-weight:600;font-size:13px;cursor:pointer;user-select:none;transition:background .12s,color .12s}
.navg>summary::-webkit-details-marker{display:none}.navg>summary::marker{content:""}
.navg>summary:hover{background:var(--panel2);color:var(--ink)}
.navg>summary:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}
.navg>summary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;opacity:.8}
.navg>summary>span:not(.navg__b){flex:1 1 auto;min-width:0}
.navg__b{display:flex}.navg__b:empty{display:none}
.navg .chev{width:14px;height:14px;flex:0 0 auto;margin-left:2px;position:relative;opacity:.55;transition:transform .18s}
.navg .chev::before{content:"";position:absolute;left:3px;top:3px;width:6px;height:6px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(-45deg)}
.navg[open]>summary .chev{transform:rotate(90deg)}
.navg[open]>summary .navg__b{display:none}   /* açıkken rozet alt satırlarda görünür */
.navg[data-here]>summary{color:var(--ink)}
.navg__items{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 18px;padding-left:10px;border-left:1px solid var(--line)}
.nav .navg__items a{min-height:32px;padding:6px 10px;font-weight:500;font-size:12.8px}
.nav .navg__items a.on{font-weight:600}
.nav .navg__items a.on::before{left:-11px;top:6px;bottom:6px}
@media (max-width:900px){.navg>summary{min-height:44px}.nav .navg__items a{min-height:40px}}
@media (max-height:560px){.navg>summary{min-height:32px;padding-top:5px;padding-bottom:5px}.nav .navg__items a{min-height:28px}}
@media (prefers-reduced-motion:reduce){.navg .chev{transition:none}}
/* menü: tümünü aç / tümünü daralt ikon düğmesi (yalnız simge; erişilebilir ad aria-label) */
/* Menü araç satırı: "MENÜ" etiketi + sağda yalnız simge (tüm grupları aç/daralt); işlev üzerine gelince data-tip baloncuğunda (admin.js navAll durumu eşler) */
.navtools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 8px 10px}
.navtools__lbl{font:700 10.5px/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.navall{position:relative;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel2);color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.navall:hover{background:var(--p-soft);color:var(--p);border-color:var(--p-line)}
.navall:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.navall svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.navall .ic-collapse{display:none}.navall.all-open .ic-expand{display:none}.navall.all-open .ic-collapse{display:block}
.navall::after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 7px);z-index:60;white-space:nowrap;padding:6px 9px;border-radius:8px;background:var(--ink);color:var(--panel);font:500 12px "DM Sans",sans-serif;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .14s,transform .14s}
.navall::before{content:"";position:absolute;right:11px;top:calc(100% + 2px);border:4px solid transparent;border-bottom-color:var(--ink);opacity:0;transition:opacity .14s}
.navall:hover::after,.navall:focus-visible::after,.navall:hover::before,.navall:focus-visible::before{opacity:1;transform:none}
@media (max-width:900px){.navall{width:38px;height:38px}}

/* dokunmatik girdi (2026-09-16 UI denetimi): iOS <16px alanlarda otomatik yakınlaştırır; küçük butonlar parmakla ıskalanır */
@media (pointer:coarse){
  input,select,textarea{font-size:16px;min-height:44px}
  input[type=number]{min-height:40px;font-size:16px;width:92px}
  input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0}
  button,.btn{min-height:44px}
  button.sm,.btn.sm{min-height:40px;padding:8px 12px;font-size:13px}
  td .btn.sm,td button.sm{margin:2px 0}
  .pw button{height:36px;padding:0 12px}
  .lsw a{min-height:40px;display:flex;align-items:center;justify-content:center;font-size:12.5px}
  .nav a,.navg>summary{min-height:44px}
  .pw input{padding-right:80px}
  table:not(.kv) th,table:not(.kv) td{padding:11px 8px}
}

/* oturum işlemleri (2026-09-17): tek satır araç çubuğu + hız sınırı paneli (Popover API; dar ekranda alttan kayan sayfa) */
td.acts-cell{width:1%;white-space:nowrap}
.acts-cell .acts{flex-wrap:nowrap;min-width:0}
.popbtn{display:inline-flex;align-items:center;gap:6px}
.popbtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.popbtn .chev{width:12px;height:12px;margin-left:-1px;transition:transform .18s ease}
.popbtn[aria-expanded=true]{border-color:var(--p-line);color:var(--p);background:var(--p-soft)}
.popbtn[aria-expanded=true] .chev{transform:rotate(180deg)}
.pop{position:fixed;inset:auto;margin:0;padding:0;width:min(340px,calc(100vw - 24px));max-height:min(86vh,720px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);
  box-shadow:0 18px 48px -12px rgba(17,24,39,.28),0 2px 6px rgba(17,24,39,.08);white-space:normal;text-align:left}
html[data-theme=dark] .pop{box-shadow:0 18px 48px -12px rgba(0,0,0,.75),0 2px 6px rgba(0,0,0,.4)}
.pop::backdrop{background:transparent}
.pop form.lim{display:grid;gap:12px;padding:14px 16px 16px}
.pop__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pop__head strong{display:block;font-size:14px;color:var(--ink);line-height:1.3}
.pop__head .mut{display:block;font-size:12px;margin-top:2px;font-variant-numeric:tabular-nums}
.pop .pop__x{background:transparent;border:0;color:var(--muted);padding:5px;min-height:0;border-radius:7px;line-height:0}
.pop__x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.pop__x:hover{background:var(--panel2);color:var(--ink)}
.pop__presets{display:flex;flex-wrap:wrap;gap:6px}
.pop .chip{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;min-height:28px;line-height:1.2}
.pop .chip:hover{border-color:var(--p-line);color:var(--p);background:var(--p-soft)}
.pop .chip.on{background:var(--p-soft);border-color:var(--p);color:var(--p)}
.pop__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pop__fields label{display:grid;gap:5px;margin:0;font-size:12px;font-weight:600;color:var(--muted)}
.unit{position:relative;display:block}
.pop .unit input[type=number]{width:100%;min-height:36px;padding:6px 48px 6px 10px;font-size:13.5px;border-radius:8px;font-variant-numeric:tabular-nums}
.unit em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted);pointer-events:none}
.pop__hint{margin:-4px 0 0;font-size:12px;color:var(--muted)}
.pop__switch{position:relative;display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}
.pop__switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;min-height:0}
.pop__switch .sw{flex:0 0 34px;height:20px;margin-top:1px;border-radius:999px;background:var(--line2);position:relative;transition:background .18s ease}
.pop__switch .sw::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .18s ease}
.pop__switch input:checked+.sw{background:var(--p)}
.pop__switch input:checked+.sw::after{transform:translateX(14px)}
.pop__switch input:focus-visible+.sw{outline:2px solid var(--ring);outline-offset:2px}
.pop__switch input:disabled+.sw{opacity:.45}.pop__switch:has(input:disabled){cursor:default}
.pop__switch small{display:block;margin-top:1px;font-size:12px;font-weight:500;color:var(--muted)}
.pop__foot{display:flex;justify-content:flex-end;gap:8px;margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}
.pop:popover-open,.pop.pop-open{animation:hsPopIn .16s ease-out}
@keyframes hsPopIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.pop.pop-fallback{display:none;z-index:200}.pop.pop-fallback.pop-open{display:block}
@media (max-width:640px){
  .pop{left:0!important;right:0;top:auto!important;bottom:0;width:100%;max-width:100%;border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
  .pop::before{content:"";display:block;width:36px;height:4px;margin:8px auto 0;border-radius:999px;background:var(--line2)}
  .pop::backdrop{background:rgba(15,17,23,.45)}
  .pop:popover-open,.pop.pop-open{animation:hsSheetUp .24s cubic-bezier(.2,.8,.2,1)}
  @keyframes hsSheetUp{from{transform:translateY(100%)}to{transform:none}}
}
@media (pointer:coarse){.pop .chip{min-height:38px;padding:6px 13px}.pop .pop__x{padding:11px}.pop .unit input[type=number]{min-height:44px;font-size:16px}}
@media (prefers-reduced-motion:reduce){.pop:popover-open,.pop.pop-open{animation:none}.popbtn .chev,.pop__switch .sw,.pop__switch .sw::after{transition:none}}

/* 5651 arşivi: gün seçimi + indirme (2026-09-20) */
.arch__t th.ck,.arch__t td.ck{width:34px;padding-right:0}
.arch__t td.ck input,.arch__t th.ck input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--p)}
.arch__t tr:hover td{background:var(--panel2)}
.arch .pvbar{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.arch .pvbar .mut{margin-right:auto;font-size:12.5px;font-variant-numeric:tabular-nums}
button.ico,.btn.ico{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:4px 9px;min-width:32px}
/* düğme içi ikon: her düğme/bağlantıda aynı boyut ve çizgi (boyutsuz SVG 300×150 dolu siyah çizilir — tuzak) */
button svg,.btn svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
button:has(>svg),.btn:has(>svg){display:inline-flex;align-items:center;gap:6px}
#arch-dlbtn{display:inline-flex;align-items:center;gap:7px}
#arch-dlbtn:disabled{opacity:.45;cursor:not-allowed}
.pop.pop--wide{width:min(520px,calc(100vw - 24px))}
.pop--wide .pop__head{position:sticky;top:0;background:var(--panel);border-radius:12px 12px 0 0;padding-bottom:6px;z-index:1}
.pop--wide .pop__head,.pop--wide>table,.pop--wide>p{padding:0 16px}
.pop--wide .pop__head{padding-top:14px}
.pop--wide>p{padding-bottom:16px}
.pop__files{margin:12px 0 4px;font-size:13px}
.pop__files th{width:150px;text-align:left;vertical-align:top;padding:5px 10px 5px 0;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;font-size:13px}
.pop__files th code{font-size:11.5px;white-space:nowrap}
.pop__files td{padding:5px 0;color:var(--text);line-height:1.45}
h3 .pop-info{margin-left:6px;vertical-align:middle;min-width:0;padding:3px 5px;background:transparent;border-color:transparent;color:var(--muted)}
h3 .pop-info:hover{color:var(--p);background:var(--p-soft)}
@media (max-width:640px){.pop--wide .pop__files th{width:auto;display:block;padding-bottom:0}.pop--wide .pop__files td{display:block;padding-top:2px}}

/* bilgi penceresi: sayfa ortasında modal (2026-09-20) */
.pop.pop--modal{position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 32px));max-height:min(84vh,780px);height:max-content;
  flex-direction:column;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 32px 80px -24px rgba(17,24,39,.42),0 4px 12px rgba(17,24,39,.08)}
html[data-theme=dark] .pop--modal{box-shadow:0 32px 80px -24px rgba(0,0,0,.85),0 4px 12px rgba(0,0,0,.5)}
.pop.pop--modal:popover-open,.pop.pop--modal.pop-open{display:flex}   /* kapalıyken tarayıcının display:none kuralı geçerli kalsın */
.pop--modal::backdrop{background:rgba(17,24,39,.42);backdrop-filter:blur(2px)}
.pop--modal .pop__head{position:static;align-items:center;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--line);background:var(--panel2)}
.pop--modal .pop__head strong{font-size:17px;letter-spacing:-.01em}
.pop--modal .pop__head .mut{font-size:13px;margin-top:3px}
.pop--modal .pop__x{align-self:flex-start;margin-top:-2px}
.pop__body{overflow:auto;overscroll-behavior:contain;padding:4px 24px 0}
.pop--modal .pop__files{width:100%;margin:0;font-size:13.5px;border-collapse:collapse}
.pop--modal .pop__files tr+tr th,.pop--modal .pop__files tr+tr td{border-top:1px solid var(--line2)}
.pop--modal .pop__files th{width:178px;padding:14px 18px 14px 0;vertical-align:top;text-align:left;text-transform:none;letter-spacing:0}
.pop--modal .pop__files th code{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--p-soft);color:var(--p);border:1px solid var(--p-line);white-space:nowrap}
html[data-theme=dark] .pop--modal .pop__files th code{background:var(--p-soft);border-color:var(--p-line)}
.pop--modal .pop__files td{padding:14px 0;line-height:1.6;color:var(--text)}
.pop--modal .pop__files td b{color:var(--ink);font-weight:700}
.pop__note{margin:16px 0 0;padding:14px 16px;border-top:1px solid var(--line);background:var(--panel2);font-size:12.5px;line-height:1.55;color:var(--muted)}
.pop--modal .pop__note{margin:0;padding:14px 24px 18px}
.pop--modal:popover-open{animation:hsModalIn .18s cubic-bezier(.2,.8,.2,1)}
@keyframes hsModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .pop.pop--modal{inset:auto 0 0 0;margin:0;width:100%;max-height:88vh;border-radius:18px 18px 0 0}
  .pop--modal .pop__head,.pop__body,.pop--modal .pop__note{padding-left:18px;padding-right:18px}
  .pop--modal .pop__files th{display:block;width:auto;padding:14px 0 0}
  .pop--modal .pop__files td{display:block;padding:6px 0 14px}
  .pop--modal .pop__files tr+tr td{border-top:0}
  .pop--modal .pop__files tr+tr th{border-top:1px solid var(--line2)}
}
@media (prefers-reduced-motion:reduce){.pop--modal:popover-open{animation:none}}

/* ===== Panel UI standardı (docs/PANEL-UI-STANDARDI.md) =====
   1) Hızlı ekleme çubuğu .qa: birincil alanlar tek satır + düğme; ek alanlar "Gelişmiş" (details.qa__more) altında ikinci satır.
   2) Ayrıntı/düzenleme = dialog.dlg (sayfa kabuğundaki #dlg; data-dlg-url ile htmx parçası yüklenir ya da data-dlg="#id" ile sayfadaki dialog açılır).
   3) Satır işlemleri .acts: küçük düğmeler, sarabilir; yıkıcı işlem en sonda .danger. */
form.qa{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
form.qa>div{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}
form.qa>div.w-s{flex:0 1 110px}form.qa>div.w-m{flex:1 1 200px}form.qa>div.w-l{flex:2 1 280px}
form.qa>button,form.qa>.btn{flex:0 0 auto;min-height:34px}
form.qa>div>label{white-space:nowrap}
details.qa__more{flex:1 1 100%;order:10;margin:0}
details.qa__more>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--p);font-size:12.5px;font-weight:600;padding:4px 0;user-select:none}
details.qa__more>summary::-webkit-details-marker{display:none}details.qa__more>summary::marker{content:""}
details.qa__more>summary::before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin:0 2px 2px 4px;transition:transform .15s}
details.qa__more[open]>summary::before{transform:rotate(45deg);margin-bottom:5px}
.qa__adv{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end;padding:8px 10px 10px;margin-top:6px;border:1px dashed var(--line2);border-radius:10px;background:var(--panel2)}
.qa__adv>div{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}.qa__adv>div.w-s{flex:0 1 110px}.qa__adv>div.w-l{flex:2 1 280px}
.qa__adv label.chk{margin:0 0 8px}
dialog.dlg{border:0;border-radius:14px;padding:0;width:min(760px,94vw);max-height:90vh;background:var(--panel);color:var(--text);box-shadow:0 24px 64px rgba(15,23,42,.35);overflow:hidden}
dialog.dlg.dlg--wide{width:min(1000px,96vw)}dialog.dlg.dlg--sm{width:min(480px,94vw)}
dialog.dlg::backdrop{background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.dlg__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.dlg__head h3{margin:0;font:700 14px "DM Sans",sans-serif;color:var(--ink)}
.dlg__x{width:32px;height:32px;min-height:0;padding:0;border-radius:8px;background:transparent;border:0;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.dlg__x:hover{background:var(--panel2);color:var(--ink)}
.dlg__body{padding:14px 16px 16px;max-height:calc(90vh - 56px);overflow:auto}
.dlg__body .card{box-shadow:none;border:0;padding:0;margin:0}
.dlg__foot{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
html[data-theme=dark] dialog.dlg{box-shadow:0 24px 64px rgba(0,0,0,.6)}
.acts-cell .acts{flex-wrap:wrap;min-width:0}   /* işlem düğmeleri hücrede taşmaz, sarar */
.stat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.stat-chips .chip b{font:700 13px "DM Sans",sans-serif;color:var(--ink);margin-left:2px}
.stat-chips .chip.on{background:var(--p-soft);border-color:transparent;color:var(--p)}
/* Panel UI standardı §7: sayfalayıcı (View::pager) + Sağlık sayfasında tümü iyi gruplar daraltılmış */
.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 0 2px;flex-wrap:wrap}.pager__n{font-size:12.5px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.pager .is-off{opacity:.4;pointer-events:none}
details.grp{margin:0}details.grp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;user-select:none}details.grp>summary::-webkit-details-marker{display:none}details.grp>summary::marker{content:""}
details.grp>summary h3{margin:0;flex:1 1 auto}details.grp>summary .chev{width:14px;height:14px;position:relative;opacity:.55;transition:transform .18s;flex:0 0 auto}
details.grp>summary .chev::before{content:"";position:absolute;left:3px;top:2px;width:6px;height:6px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg)}
details.grp[open]>summary .chev{transform:rotate(180deg)}details.grp[open]>summary{margin-bottom:8px}
td.brk{word-break:break-all}
/* Panel UI standardı §8: Ayarlar tek form — yapışkan kaydet çubuğu, değişiklik sayacı, kaydedilmemiş sekme noktası */
.fbar--sticky{position:sticky;bottom:0;z-index:5;margin:8px -4px 0;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 -8px 24px rgba(17,24,39,.08)}
html[data-theme=dark] .fbar--sticky{box-shadow:0 -8px 24px rgba(0,0,0,.4)}
.chg{font-size:12.5px;font-weight:600;color:var(--muted)}.chg.on{color:var(--warn)}
.stab.dirty::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-left:6px;vertical-align:middle}
/* Özet: bağlama göre tek CTA */
.hero .btn.warn{background:var(--warn);color:#fff}.hero .btn.danger{background:var(--err);color:#fff}.hero h1.warn{color:var(--warn)}.hero h1.bad{color:var(--err)}
/* Panel UI standardı §10: mobil kart görünümü — table.rsp + td[data-l] (≤640 px'te başlık satırı gizlenir, her satır kart olur) */
@media (max-width:640px){
  table.rsp tr:first-child{display:none}table.rsp tr{display:block;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0 0 8px;background:var(--panel)}
  table.rsp td{display:block;position:relative;padding:3px 0 3px 36%;border:0;min-height:22px}table.rsp td[data-l]::before{content:attr(data-l);position:absolute;left:0;top:5px;width:33%;color:var(--muted);font:700 10.5px/1.5 "DM Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:normal}
  table.rsp td[data-l]:empty{display:none}table.rsp td.acts-cell{padding:8px 0 0;min-height:0}table.rsp td[colspan]{padding-left:0}
}
/* Erişilebilirlik: durum etiketleri yalnız renkle değil şekille de ayrışır (ok: yuvarlak, no: kare, warn: üçgen) */
.tag.ok::before,.tag.no::before,.tag.warn::before{content:"";display:inline-block;width:6px;height:6px;margin:0 5px 1px 0;background:currentColor;vertical-align:middle}
.tag.ok::before{border-radius:50%}.tag.no::before{border-radius:1px}.tag.warn::before{width:0;height:0;background:none;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid currentColor}
.card h3 .mut{font-weight:500;font-size:12px}.legend i.c-p{background:var(--p)}.legend i.c-sky{background:var(--sky)}.sub--gap{margin-top:8px}
/* Üst çubuk hesap menüsü */
.who-menu{position:relative}.who-menu>summary{list-style:none;cursor:pointer;border-radius:10px;padding:4px 6px 4px 0}.who-menu>summary::-webkit-details-marker{display:none}.who-menu>summary::marker{content:""}.who-menu>summary:hover{background:var(--panel2)}
.who-menu>summary .chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--muted);margin-left:2px;transition:transform .18s}.who-menu[open]>summary .chev{transform:rotate(180deg)}
.who-menu__pop{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(17,24,39,.16),0 2px 6px rgba(17,24,39,.06);z-index:60;display:flex;flex-direction:column;gap:2px;animation:csin .14s ease-out}
.who-menu__pop a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-weight:600;font-size:13px}.who-menu__pop a:hover{background:var(--panel2);color:var(--ink)}.who-menu__pop a.out{color:var(--err)}
.who-menu__pop a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
html[data-theme=dark] .who-menu__pop{box-shadow:0 14px 34px rgba(0,0,0,.55)}
@media (max-width:640px){.who>div:not(.av){display:none}}
/* Kart altı yıkıcı/ikincil işlem satırı */
.card__foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}

/* =====================================================================================================
   UI 2.0 (2026-10-03, Claude Design "hotspot-box UI 2.0"): keskin köşeler (kart 8 / düğme 6 / alan 4 px), gölge yok,
   tek vurgu rengi, kenar çubuğu: logo kutuya fit + "Yönetim Konsolu" + hamburger (tüm gruplar) + ok (ikon rayı),
   gruplar ikonlu başlık + sol kılavuz çizgili alt maddeler, altta dil/tema/çıkış. Üst çubuk: arama, Yeni, zil, lisans chip'i, hesap.
   ===================================================================================================== */
:root{--bg:#F6F7F9;--panel:#fff;--panel2:#F3F4F8;--line:#E3E6EB;--line2:#CBD0DA;--p:#4338ca;--p2:#312e81;--p-soft:#EEF0FB;--p-line:#C7D2FE;--shadow:none;--r:8px;--field-line:#CBD0DA;--sbw:232px}
html[data-theme=dark]{--shadow:none;--p:#818cf8;--p2:#a5b4fc;--p-soft:#1e2140}
body{font-size:13px}
.card,.kpi,.fs{box-shadow:none;border-radius:var(--r)}
input,select,textarea{border-radius:4px}input:hover,select:hover,textarea:hover{box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:var(--p);box-shadow:0 0 0 2px var(--p-line)}
html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{box-shadow:0 0 0 2px var(--p-line)}
button,.btn{border-radius:6px}button.sm,.btn.sm{border-radius:5px}
.cs__btn{border-radius:4px}.cs__list{border-radius:6px;box-shadow:0 8px 24px rgba(17,24,39,.12)}
dialog.dlg{border-radius:10px}.who-menu__pop,.hint__pop{border-radius:8px}
.auth__card{border-radius:8px;box-shadow:none}
.tag{border-radius:4px}
/* onay kutusu / radyo: işletim sistemi görünümü yok, klasik tik */
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:0;padding:0;border:1.5px solid var(--line2);border-radius:3px;background:var(--panel);display:inline-grid;place-items:center;cursor:pointer;margin:0;flex:0 0 auto;vertical-align:middle;position:relative;transition:none}
input[type=checkbox]:checked{background:var(--p);border-color:var(--p)}
input[type=checkbox]:checked::after{content:"";width:10px;height:10px;background:#fff;clip-path:polygon(14% 44%,0 62%,42% 100%,100% 22%,86% 8%,42% 68%)}
input[type=checkbox]:indeterminate{background:var(--p);border-color:var(--p)}input[type=checkbox]:indeterminate::after{content:"";width:8px;height:2px;background:#fff}
input[type=checkbox]:disabled{opacity:.5;cursor:default}
input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:0;padding:0;border:1.5px solid var(--line2);border-radius:50%;background:var(--panel);display:inline-grid;place-items:center;margin:0;cursor:pointer;vertical-align:middle}
input[type=radio]:checked{border-color:var(--p)}input[type=radio]:checked::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--p)}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:0;box-shadow:0 0 0 2px var(--p-line)}
@media (pointer:coarse){input[type=checkbox],input[type=radio]{width:20px;height:20px}input[type=checkbox]:checked::after{width:12px;height:12px}}
/* tablolar: yapışkan başlık, 40 px satır, daha az çizgi */
th{background:var(--panel);font-size:10.5px;letter-spacing:.06em}.tbl th{position:sticky;top:0;z-index:1}   /* yapışkan başlık yalnız kaydırmalı .tbl sarmalayıcısında; sayfa kaydırmasında başlık satırı başka bloğun (ör. tasarımcı önizlemesi) üstüne biniyordu */
th,td{padding:8px 10px}td{border-bottom-color:var(--panel2)}
.tbl-wrap{border:0}
/* ---- kenar çubuğu ---- */
.sb{padding:0 0 8px;gap:0}
.sb__brand{display:block;padding:14px 16px 8px}
.sb__logo{display:block;padding:0;margin:0;border-radius:0;overflow:visible;animation:none}
.sb__logo::before{display:none}.sb__logo svg.wm{width:100%;height:auto;max-height:44px;animation:none}
.sb__host{display:flex;align-items:center;gap:6px;padding:0 10px 10px 16px;border-bottom:1px solid var(--line)}
.sb__sub{flex:1;min-width:0;text-align:center;font:600 11px "Manrope",sans-serif;letter-spacing:.02em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ham{width:30px;height:30px;min-height:0;padding:0;border:1px solid var(--line2);border-radius:6px;background:var(--panel);color:var(--text);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.ham:hover{background:var(--panel2)}.ham svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ham--rail svg{transition:transform .15s}body.rail .ham--rail svg{transform:rotate(180deg)}body.rail .ham:not(.ham--rail){display:none}
.sb .nav{padding:6px 6px 0;gap:0}
.navg{border-radius:0}
.navg>summary{min-height:36px;padding:8px 10px;border-radius:6px;font:600 13.5px "Manrope",sans-serif;color:var(--ink)}
.navg>summary svg{width:18px;height:18px;opacity:1;color:var(--text)}
.navg>summary:hover{background:var(--panel2)}
.navg .chev{opacity:.7}.navg .chev::before{transform:rotate(-45deg)}.navg[open]>summary .chev{transform:rotate(90deg)}
.navg__items{margin:2px 0 4px 19px;padding:2px 0 2px 6px;border-left:1px solid var(--line);gap:1px}
.nav .navg__items a{min-height:32px;padding:5px 10px;border-radius:6px;font-weight:500;font-size:13px;color:var(--text)}
.nav .navg__items a:hover{background:var(--panel2);color:var(--ink)}
.nav .navg__items a.on{background:var(--p-soft);color:var(--p);font-weight:600}
.nav .navg__items a.on::before{left:-8px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0}
.nav .navg__items a svg{display:none}
.nav .badge{min-width:18px;height:18px;font-size:10.5px;background:var(--ok-soft);color:var(--ok)}.nav .badge.bad{background:var(--warn-soft);color:var(--warn)}
.navg[open]>summary .navg__b{display:none}
.sb__bottom{position:sticky;bottom:0;background:var(--panel);margin-top:auto;padding:6px 10px 0;border-top:1px solid var(--line);gap:0}
.sb__bottom .lsw{margin:2px 4px;padding:2px}.sb__bottom .lsw a{min-width:34px;padding:2px 10px;font-size:11.5px}
.sb__bottom .tgl{min-height:28px;padding:2px 4px;font-size:12px;border-radius:5px}.sb__bottom .tgl .sw{width:28px;height:16px}.sb__bottom .tgl .sw::after{width:12px;height:12px}
html[data-theme=dark] .sb__bottom .tgl .sw::after{left:14px}
.nav--foot{padding:0 0 4px}.nav--foot a{min-height:28px;padding:2px 4px;font-size:12px;border-radius:5px}
.ver,.gw,.navtools{display:none}
/* ikon rayı: 60 px, yalnız ikonlar; grup başlıkları ince ayraç olur */
body.rail{--sbw:60px}
body.rail .sb__brand{padding:12px 8px 4px}body.rail .sb__logo svg.wm{max-height:20px}
body.rail .sb__host{justify-content:center;padding:0 0 8px}body.rail .sb__sub{display:none}
body.rail .navg>summary{margin:6px 10px 4px;padding:0;min-height:0;height:4px;border-radius:2px;background:var(--line);font-size:0;pointer-events:none}
body.rail .navg>summary svg,body.rail .navg>summary .chev,body.rail .navg>summary span{display:none}
body.rail .navg__items{margin:0;padding:0;border-left:0}
body.rail .nav .navg__items a{justify-content:center;padding:6px 0;border-radius:0;position:relative}
body.rail .nav .navg__items a span{display:none}body.rail .nav .navg__items a svg{display:block;width:18px;height:18px;opacity:1}
body.rail .nav .navg__items a.on{box-shadow:inset 3px 0 0 var(--p)}body.rail .nav .navg__items a.on::before{display:none}
body.rail .nav .badge{position:absolute;top:1px;right:8px;min-width:14px;height:14px;padding:0 3px;font-size:9px;margin:0}
body.rail .sb__bottom{padding:6px 4px 0;align-items:center}body.rail .lsw{display:none}body.rail .tgl span,body.rail .tgl .sw,body.rail .nav--foot a span{display:none}
body.rail .tgl,body.rail .nav--foot a{justify-content:center;width:100%;padding:4px 0}
/* ---- üst çubuk ---- */
.top{min-height:52px;padding:8px 20px;gap:10px}
.srch{flex:1;max-width:440px;display:flex;align-items:center;gap:8px;height:34px;margin:0;border:1px solid var(--line2);border-radius:4px;padding:0 10px;background:var(--panel)}
.srch svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;flex:0 0 auto}
.srch input{border:0;outline:0;box-shadow:none;flex:1;min-height:0;height:30px;padding:0;font:500 13px "Manrope",sans-serif;color:var(--ink);background:transparent;min-width:0}
.srch input:focus{box-shadow:none;border:0}.srch:focus-within{border-color:var(--p);box-shadow:0 0 0 2px var(--p-line)}
.srch kbd{font:600 10.5px "DM Sans",sans-serif;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
.top__r{gap:8px}
.top .ico{width:34px;height:34px;border:1px solid var(--line2);border-radius:6px;background:var(--panel);display:grid;place-items:center;position:relative;color:var(--text);text-decoration:none}
.top .ico:hover{background:var(--panel2)}
.top .ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.top .ico .n{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;border-radius:9px;background:var(--warn);color:#fff;font:700 10px "DM Sans",sans-serif;display:grid;place-items:center;padding:0 4px}
.chip-lic{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:4px;border:1px solid #F5D9A8;background:#FFF8EA;color:#92400e;font-weight:700;font-size:11.5px;text-decoration:none;white-space:nowrap}
.chip-lic.bad{border-color:#F3B4B4;background:#FEF2F2;color:#991b1b}
html[data-theme=dark] .chip-lic{background:#3a2a0a;border-color:#7c4a0a;color:#fbbf24}html[data-theme=dark] .chip-lic.bad{background:#3b1212;border-color:#7f1d1d;color:#f87171}
.new-menu>summary{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:6px;cursor:pointer;list-style:none}
.new-menu>summary::-webkit-details-marker{display:none}.new-menu>summary svg{width:14px;height:14px}
.new-menu .who-menu__pop{right:auto;left:0;min-width:200px}
.who{border-left:0;padding-left:4px}.who .av{border-radius:6px;width:26px;height:26px;font-size:11px}
.who-menu>summary{border-radius:6px;padding:3px 6px 3px 4px}
/* kayıt sayfaları sekme şeridi (Erişim → Kayıtlar) */
.rtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:-4px 0 14px;flex-wrap:wrap}
.rtabs a{padding:8px 14px;font-weight:600;font-size:13px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.rtabs a.on{color:var(--p);border-bottom-color:var(--p)}.rtabs a:hover{color:var(--ink)}
/* lisans şeridi yalnız kısıtlı modda; kart içi başlıklar */
.lic{border-radius:6px}
main h1{font-size:20px}
@media (max-width:820px){.srch{max-width:none}.srch kbd{display:none}.chip-lic{display:none}.new-menu>summary span{display:none}.new-menu>summary{padding:0 9px}.sb{padding-bottom:max(8px,env(safe-area-inset-bottom))}body.rail{--sbw:232px}body.rail .ham--rail{display:none}}
@media (max-width:820px){body.rail .sb__sub,body.rail .navg>summary span,body.rail .navg>summary svg,body.rail .nav .navg__items a span,body.rail .lsw{display:revert}body.rail .navg>summary{margin:0;padding:8px 10px;min-height:36px;height:auto;background:transparent;font-size:13.5px;pointer-events:auto}body.rail .navg__items{margin:2px 0 4px 19px;padding:2px 0 2px 6px;border-left:1px solid var(--line)}body.rail .nav .navg__items a{justify-content:flex-start;padding:5px 10px}body.rail .nav .navg__items a svg{display:none}}

/* =====================================================================================================
   UI 2.0 — sayfa bileşenleri (Özet, Oturumlar, Alarmlar, Denetim izi, 5651 uyum özeti)
   ===================================================================================================== */
/* sayfa başlığı satırı: başlık + altyazı solda, bağlamsal işlem/süzgeç sağda */
.ttl{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.ttl h1{margin:0}.ttl p{margin:3px 0 0;color:var(--muted);font-size:12.5px}
.ttl h1.ok{color:var(--ok)}.ttl h1.warn{color:var(--warn)}.ttl h1.bad{color:var(--err)}
.ttl form.qa{margin:0;padding:0;background:none;border:0;flex:1 1 520px;justify-content:flex-end;gap:8px}
.ttl .qa>div{flex:0 1 auto}.ttl .qa .w-m{flex:0 1 240px}.ttl .qa .w-s{flex:0 1 150px}.ttl .qa label{font-size:11.5px}.ttl .qa input,.ttl .qa select{min-height:34px}.ttl .qa input[type=date]{min-width:150px}
@media (max-width:980px){.ttl form.qa{justify-content:flex-start}}
/* durum şekli: daire iyi, üçgen uyarı, kare kritik; gri = pasif */
.st{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--ok);vertical-align:middle}
.st.warn{border-radius:0;background:var(--warn);clip-path:polygon(50% 0,100% 100%,0 100%);width:11px;height:10px}
.st.bad{border-radius:1px;background:var(--err)}.st.off{background:var(--line2)}
/* 5651 uyum şeridi (Özet) */
.strip{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:14px}
.strip a{flex:1 1 180px;display:flex;align-items:center;gap:9px;padding:9px 14px;border-right:1px solid var(--line);color:var(--text);text-decoration:none;font-size:12.5px;min-height:44px}
.strip a:last-child{border-right:0}.strip a:hover{background:var(--bg)}
.strip b{font-weight:700;color:var(--ink)}
.strip a.warn{background:var(--warn-soft);color:var(--warn)}.strip a.warn b{color:inherit}.strip a.bad{background:var(--err-soft);color:var(--err)}.strip a.bad b{color:inherit}
/* tek satır sayılar (Özet) */
.mets{display:flex;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px}
.mets>div{flex:1 1 150px;padding:10px 16px;border-right:1px solid var(--line);min-width:0}
.mets>div:last-child{border-right:0}
.mets span{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
.mets b{display:block;font:700 22px/1.2 "DM Sans",sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.mets small{font-size:11px;color:var(--muted)}
.mets .live{margin-left:6px;padding:0;background:none;font-size:10px}
/* bölüm kartı: başlık şeridi + içerik (kart içi padding yok, tablo kenara dayanır) */
section.sec,details.sec{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px;min-width:0}
/* Durum pili (.stt on|off) + oynat/durdur ikon düğmesi (.stb play|stop): yayında = yeşil nokta, durduruldu = gri; eylem düğmesi tersi (durdur kırmızı kare / yayınla yeşil üçgen) */
.stt{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 7px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line);color:var(--muted);background:var(--panel)}.stt i{width:8px;height:8px;border-radius:50%;background:#9ca3af;display:inline-block}.stt.on{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.stt.on i{background:#16a34a;box-shadow:0 0 0 3px #dcfce7}.stt.off{color:#7f1d1d;border-color:#fecaca;background:#fff1f2}.stt.off i{background:#dc2626;border-radius:2px}
.stb{display:inline-grid;place-items:center;width:28px;height:28px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:#111827;vertical-align:middle;cursor:pointer}.stb svg{width:14px;height:14px;fill:currentColor;stroke:none}.stb.stop{color:#dc2626;border-color:#fecaca}.stb.stop:hover{background:#fee2e2}.stb.play{color:#16a34a;border-color:#bbf7d0}.stb.play:hover{background:#dcfce7}.stt-f{display:inline-flex;align-items:center;gap:6px}
/* Katlanır bölüm (.sec.fold): başlık düğmesi aç/kapar, gövde grid-rows 0fr→1fr ile animasyonlu; durum localStorage "hsbox-fold" (data-fold anahtarı) */
.sec.fold>.fold__btn{width:100%;text-align:left;background:none;color:inherit;border:0;border-radius:var(--r) var(--r) 0 0;cursor:pointer;padding-right:44px;position:relative;font:inherit;min-height:0}.sec.fold>.fold__btn:hover{background:var(--panel2)}.sec.fold>.fold__btn h2 small{font-weight:500;font-size:12px;margin-left:6px}
.sec.fold>.fold__btn .fold__chev{position:absolute;right:16px;top:50%;width:9px;height:9px;margin-top:-7px;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s ease}.sec.fold.open>.fold__btn .fold__chev{transform:rotate(-135deg);margin-top:-3px}
.sec.fold>.fold__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1)}.sec.fold.open>.fold__body{grid-template-rows:1fr}.sec.fold>.fold__body>.fold__in{overflow:hidden;min-height:0;opacity:0;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease}.sec.fold.open>.fold__body>.fold__in{opacity:1;transform:none;transition-delay:.08s}
.sec.fold:not(.open)>.fold__btn{border-radius:var(--r)}@media (prefers-reduced-motion:reduce){.sec.fold>.fold__body,.sec.fold>.fold__body>.fold__in,.sec.fold>.fold__btn .fold__chev{transition:none}}   /* yalnız bölüm kutuları: button.sec / .btn.sec ikincil düğmedir, bu kural onlara uygulanmaz */
.sech{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sech h2,.sech h3{margin:0;font:700 13.5px "DM Sans",sans-serif;color:var(--ink)}
.sech>span{color:var(--muted);font-size:12px}
.sech .r{margin-left:auto;font-weight:600;font-size:12px;text-decoration:none}
.sec .tbl{overflow-x:auto}.sec table{font-size:12.5px}.sec th{padding:8px 14px;background:var(--panel2);white-space:nowrap}.sec td{padding:6px 14px;height:40px;vertical-align:middle}.sec td.mono,.sec td.num,.sec td.acts-cell,.sec td .tag{white-space:nowrap}
.sec td.wrap,.sec td p{white-space:normal}.sec tbody tr:hover td{background:var(--bg)}.sec tbody tr.sel td{background:var(--p-soft)}
.sec td b{color:var(--ink)}.sec td p{margin:2px 0 0;color:var(--muted);font-size:12px}
.sec .pager{border-top:1px solid var(--line);padding:8px 14px;margin:0}
.sec .pad{padding:12px 14px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width:980px){.two{grid-template-columns:1fr}}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--text)}
td.num,th.num{text-align:right}
/* durum etiketi: metin + şekil (renk tek başına taşımaz) */
.tag.st-ok::before,.tag.st-pend::before,.tag.st-off::before,.tag.st-bad::before{content:"";display:inline-block;width:8px;height:8px;margin:0 6px 1px 0;border-radius:50%;background:var(--ok);vertical-align:middle}
.tag.st-pend::before{background:var(--warn);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.tag.st-off::before{background:var(--line2);border-radius:0}.tag.st-bad::before{background:var(--err);border-radius:1px}
.tag.st-ok,.tag.st-pend,.tag.st-off,.tag.st-bad{background:none;padding:0;font-weight:600}
/* dikkat gerektiren listesi (Özet) */
.al{list-style:none;margin:0;padding:0}
.al li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:start;padding:10px 14px;border-bottom:1px solid var(--panel2)}
.al li:last-child{border-bottom:0}.al b{display:block;color:var(--ink);font-size:12.5px}.al p{margin:2px 0 0;color:var(--muted);font-size:12px}.al .st{margin-top:4px}
/* çubuk grafik (Özet) */
.bars{display:block;width:100%;height:220px}
/* sekme şeridi (Alarmlar, 5651) — .rtabs ile aynı dil */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:14px}
.tabs a{padding:8px 14px;font-weight:600;font-size:13px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--p);border-bottom-color:var(--p)}.tabs a:hover{color:var(--ink)}.tabs a i{font-style:normal;font-size:11px;color:var(--muted);margin-left:5px}
/* sayaçlar (Alarmlar başlığı) */
.cnts{display:flex;gap:14px;font-size:12.5px;font-weight:600;align-items:center;flex-wrap:wrap}.cnts .st{margin-right:6px}
/* satır işlemleri (UI 2.0): küçük düğme grubu, birincil dolu */
.sec .acts{min-width:0;justify-content:flex-end;flex-wrap:nowrap}
.sec .acts a,.sec .acts button{height:26px;min-height:0;padding:0 8px;border:1px solid var(--line2);border-radius:5px;background:var(--panel);font:600 12px "Manrope",sans-serif;color:var(--text);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.sec .acts a.p,.sec .acts button.p{background:var(--p);color:#fff;border-color:var(--p)}.sec .acts .dng{color:var(--err);border-color:#F3B4B4}
/* toplu işlem çubuğu (Oturumlar) */
.bulk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--p-soft)}
.bulk[hidden]{display:none}
.bulk b{font-size:12.5px;color:var(--p2);margin-right:8px}
.bulk button{height:28px;min-height:0;padding:0 10px;border:1px solid var(--p-line);border-radius:5px;background:var(--panel);font:600 12px "Manrope",sans-serif;color:var(--p2);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.bulk button:hover{background:var(--panel2)}.bulk button.on{background:var(--p);border-color:var(--p);color:#fff}
.bulk button.dng{color:var(--err);border-color:#F3B4B4}.bulk button.x{margin-left:auto;border:0;background:transparent;color:var(--p)}
.bulk .hint{flex:1 1 100%;font-size:11.5px;color:var(--muted);margin:0}
.bulk svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html[data-theme=dark] .bulk{background:#1e2140}html[data-theme=dark] .bulk b,html[data-theme=dark] .bulk button{color:var(--p2)}
/* toplu işlem alt formu (çubuğun altında açılır) */
.bulkf{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:end;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
.bulkf[hidden]{display:none}.bulkf h4{flex:1 1 100%;margin:0 0 2px;font:700 12.5px "DM Sans",sans-serif;color:var(--ink)}
.bulkf label{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:0;font-size:11.5px;font-weight:600;color:var(--muted)}
.bulkf input:not([type=checkbox]),.bulkf select{height:32px;min-height:0;padding:0 9px;font-size:13px;min-width:120px}
.bulkf .chk{flex-direction:row;align-items:center;gap:6px;height:32px;margin:0;color:var(--text)}
.bulkf p{flex:1 1 100%;margin:0;font-size:11.5px;color:var(--muted)}
.bulkf .btn,.bulkf button{height:32px;min-height:0}
th.ck,td.ck{width:36px;padding:0 0 0 14px}td.ck input,th.ck input{display:block}
/* denetim izi: gün başlığı + cümle satırı + önce/sonra tablosu */
.day{padding:8px 14px;font:700 11px "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel2);border-bottom:1px solid var(--line)}
details.ev{border-bottom:1px solid var(--panel2)}details.ev:last-child{border-bottom:0}
details.ev summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px 150px 1fr 110px 16px;gap:12px;align-items:center;min-height:40px;padding:4px 14px;font-size:12.5px}
details.ev summary::-webkit-details-marker{display:none}details.ev summary:hover{background:var(--bg)}
details.ev .t{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--muted);font-size:11.5px}
details.ev .a{font-weight:600;color:var(--ink);display:flex;align-items:center;gap:7px;min-width:0}.details.ev .a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
details.ev .a i{width:22px;height:22px;flex:0 0 auto;border-radius:5px;background:var(--p-soft);color:var(--p);display:grid;place-items:center;font:700 10px "DM Sans",sans-serif;font-style:normal}
details.ev .a em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
details.ev .s{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}details.ev .s b{color:var(--ink);font-weight:600}
details.ev .ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);text-align:right}
details.ev .c{width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);justify-self:center}
details.ev[open] summary .c{transform:rotate(-135deg)}
.diff{display:grid;grid-template-columns:180px 1fr 1fr;gap:4px 12px;padding:8px 14px 12px 228px;font-size:12px;border-top:1px dashed var(--line);background:var(--panel2)}
.diff .h{font:700 10.5px "DM Sans",sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.diff .k{color:var(--muted);font-weight:600;overflow-wrap:anywhere}.diff .o{color:#991b1b;text-decoration:line-through;text-decoration-color:#F3B4B4;overflow-wrap:anywhere}.diff .n{color:var(--ok);overflow-wrap:anywhere}
.diff code{font-size:11.5px;background:none;border:0;padding:0}
.diff .meta{grid-column:1/-1;color:var(--muted);font-size:11.5px;margin-top:4px}
html[data-theme=dark] .diff .o{color:#fca5a5}
@media (max-width:820px){details.ev summary{grid-template-columns:48px 1fr 16px;grid-template-rows:auto auto;row-gap:2px}details.ev .a{grid-column:2}details.ev .s{grid-column:1/3;white-space:normal}details.ev .ip{display:none}details.ev .c{grid-row:1}.diff{grid-template-columns:1fr 1fr 1fr;padding-left:14px}}
/* sağlık grupları (Alarmlar) */
details.g{border-top:1px solid var(--line)}details.g:first-of-type{border-top:0}
details.g summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 14px;font-weight:600;color:var(--ink)}
details.g summary::-webkit-details-marker{display:none}details.g summary span{color:var(--muted);font-weight:500;font-size:12px}
details.g summary::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);flex:0 0 auto;transition:transform .12s}
details.g[open] summary::before{transform:rotate(45deg)}
.chk-row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:7px 14px 7px 30px;border-top:1px solid var(--panel2);font-size:12.5px}
.chk-row .mono{color:var(--muted)}
/* 5651 kapsam karoları */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:14px}
.tiles a{padding:10px 14px;border-right:1px solid var(--line);text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:2px;min-height:64px;min-width:0}
.tiles a:last-child{border-right:0}.tiles a:hover{background:var(--bg)}.tiles a.warn{background:var(--warn-soft)}.tiles a.bad{background:var(--err-soft)}
.tiles span{font-size:11.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}
.tiles b{color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiles small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles a:nth-child(3){border-right:0}.tiles a:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles a:nth-child(3){border-right:1px solid var(--line)}.tiles a:nth-child(even){border-right:0}.tiles a:nth-child(-n+4){border-bottom:1px solid var(--line)}}
/* oturum ayrıntısı: zaman çizelgesi */
.tl{list-style:none;margin:10px 0 0;padding:0 0 0 2px;border-left:2px solid var(--line)}
.tl li{display:flex;gap:10px;padding:3px 0 3px 12px;font-size:12.5px;position:relative}
.tl li::before{content:"";position:absolute;left:-6px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--p);border:2px solid var(--panel)}
.tl time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--muted);min-width:44px}
/* dialog içi form satırı (yetkili makam paketi) */
.dlg__body .f{display:grid;gap:10px}.dlg__body .f .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dlg__body .f label{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;font-size:11.5px;font-weight:600;color:var(--muted)}.dlg__body .f label>input:not([type=checkbox]),.dlg__body .f label>select{width:100%}.dlg__body .f label[hidden]{display:none}
.dlg__body .f label.chk{flex-direction:row;align-items:center;color:var(--text);font-size:12.5px}.dlg__body .f .cbs{display:flex;flex-wrap:wrap;gap:6px 14px;padding:4px 0}.dlg__body .f.adform label{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 6px;min-height:20px}.dlg__body .f.adform label .mut{font-weight:500}.dlg__body .f.adform details.qa__more{order:0;margin-top:4px}.dlg__body .f.adform .dlg__foot{order:100}.dlg__body .f .mf__cur{height:auto;min-height:48px;padding:2px 0 6px}.dlg__body .f textarea{min-height:76px;resize:vertical}.dlg__body .f details.qa__more summary{font-size:12.5px;font-weight:600;color:var(--p);cursor:pointer}.dlg__body .f p{margin:0;font-size:11.5px;color:var(--muted)}
/* ---- Raporlar 2.0 ---- */
.lay{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}
.types{position:sticky;top:66px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:6px 0;max-height:calc(100vh - 80px);overflow:auto}
.types .h{font:700 10.5px "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 14px 4px}
.types a{display:flex;flex-direction:column;padding:6px 14px;font-size:12.5px;font-weight:500;color:var(--text);text-decoration:none;border-left:3px solid transparent}
.types a small{font-size:11px;color:var(--muted)}.types a:hover{background:var(--panel2);color:var(--ink)}
.types a.on{background:var(--p-soft);color:var(--p);border-left-color:var(--p);font-weight:600}
.lay .body{min-width:0}
.fil{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px 8px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.fil .chips{display:flex;flex-wrap:wrap;gap:6px}.fil .chip{min-height:0;padding:4px 10px;font-size:12px;border-radius:4px}
.fil .frow{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.fil .frow label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:600;color:var(--muted);min-width:0;margin:0;flex:0 0 auto}
.fil .frow input,.fil .frow select{height:32px;min-height:0;padding:0 9px;font-size:12.5px;min-width:110px;width:auto}.fil .frow input[type=date]{min-width:140px}
.fil .sp{flex:1}.fil .frow button,.fil .frow .btn{height:32px;min-height:0;padding:0 12px}
.rep-h{margin:0 0 10px;font:700 15px "DM Sans",sans-serif;color:var(--ink)}
.rep-mets small.up{color:var(--ok)}.rep-mets small.dn{color:var(--err)}
.rbars{display:grid;gap:6px}.rbar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto;gap:10px;align-items:center;font-size:12.5px}
.rbar-row .b{height:10px;background:var(--panel2);border-radius:2px;overflow:hidden}.rbar-row .b i{display:block;height:100%;background:var(--p)}.rbar-row .v{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:90px;text-align:right}
.sec td .rbar{display:inline-block;height:8px;max-width:120px;background:var(--p);border-radius:2px;vertical-align:middle;margin-right:6px}
.sec tr.foot td{background:var(--panel2)}
table.heat td{background:color-mix(in srgb,var(--p) calc(var(--a,0)*100%),var(--panel2));color:var(--ink)}
.fs-types{border:1px solid var(--line);border-radius:6px;padding:8px 12px 10px;margin:0}.fs-types legend{font-size:12px;font-weight:700;color:var(--ink);padding:0 4px}
.fs-types .tg{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:4px 0;border-top:1px solid var(--panel2)}.fs-types .tg:first-of-type{border-top:0}.fs-types .tg b{flex:0 0 150px;font-size:11.5px;color:var(--muted)}
.fs-types .chk{font-size:12.5px}.cbs{display:flex;flex-wrap:wrap;gap:4px 14px}.dlg__body .f .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.fs-adv summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--p)}.fs-adv .row3{margin-top:8px}
@media (max-width:980px){.lay{grid-template-columns:1fr}.types{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:0 4px;padding:6px}.types .h{flex:1 1 100%}.types a{border-left:0;border-radius:4px;padding:5px 9px}.types a small{display:none}.dlg__body .f .row3{grid-template-columns:1fr}}
@media print{.lay{display:block}.types,.fil,.tabs,.ttl .pvbar{display:none!important}}
/* ---- Portal: şablon galerisi, tema seçici ---- */
.fl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.fl .l{font-size:11.5px;font-weight:700;color:var(--muted);margin-right:4px;text-transform:uppercase;letter-spacing:.05em}
.fl .chip{min-height:0;padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer}
.gal-j{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.jcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.jcard.on{border-color:var(--p);box-shadow:0 0 0 1px var(--p)}
.jcard .pv{height:110px;background:var(--panel2);display:flex;flex-direction:column;gap:5px;padding:12px 28px 10px;border-bottom:1px solid var(--line)}
.jcard .pv i{display:block;border-radius:2px;background:var(--line2)}.jcard .pv .l{width:36px;height:6px;background:var(--p)}.jcard .pv .t{width:60%;height:5px}.jcard .pv .t.s{width:85%;height:4px;background:var(--line)}
.jcard .pv .in{height:14px;border:1px solid var(--line2);background:var(--panel);border-radius:3px}.jcard .pv .mk{height:12px;background:var(--panel);border:1px solid var(--line2);border-radius:3px}.jcard .pv .tb{height:8px;background:linear-gradient(90deg,var(--p) 0 30%,var(--line) 30%)}
.jcard .pv .bt{height:12px;background:var(--p);margin-top:auto;border-radius:3px}
.jcard h3{margin:10px 12px 2px;font:700 13.5px "DM Sans",sans-serif;color:var(--ink)}.jcard p{margin:0 12px;font-size:12px;color:var(--muted);line-height:1.4;flex:1}
.jcard .m{display:flex;flex-wrap:wrap;gap:4px;margin:8px 12px}.jcard .m span{font-size:10.5px;font-weight:600;color:var(--text);background:var(--panel2);border-radius:3px;padding:2px 6px}
.jcard .acts{margin:0 12px 12px;justify-content:flex-start}
.thg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.thg .th{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;margin:0;font-weight:500}.thg .th.on{border-color:var(--p);box-shadow:0 0 0 1px var(--p)}
.thg .th input{position:absolute;opacity:0;width:1px;height:1px}
.thg .pv{height:64px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:8px 22px 0}.thg .pv i{display:block;width:26px;height:6px;border-radius:2px}.thg .pv u{display:block;height:10px;border:1px solid rgba(0,0,0,.18);border-radius:3px;background:rgba(255,255,255,.85)}.thg .pv b{display:block;height:10px;border-radius:3px 3px 0 0}
.thg .tx{padding:8px 10px 2px;font-size:11.5px;color:var(--muted)}.thg .tx b{display:block;color:var(--ink);font-size:12.5px}
.thg .sw{display:flex;gap:4px;padding:0 10px 10px}.thg .sw i{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}
.sec .pad .row{margin-bottom:10px}.sec .pad>label{display:block;margin-top:8px}
/* ---- Roller ve yetkiler ---- */
.lay--roles{grid-template-columns:260px minmax(0,1fr)}
.rl a{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;padding:8px 14px;border-left:3px solid transparent;text-decoration:none;color:var(--ink);font-weight:600;font-size:13px}
.rl a small{grid-column:1;font-weight:500;font-size:11.5px;color:var(--muted);display:block}.rl a .n{grid-row:1/3;grid-column:2;min-width:22px;height:22px;border-radius:11px;background:var(--panel2);color:var(--text);display:grid;place-items:center;font-size:11px;font-style:normal}
.rl a.on{background:var(--p-soft);border-left-color:var(--p);color:var(--p)}
.sum{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--muted)}.sum b{color:var(--ink);font-weight:600}
.tree{border-top:1px solid var(--line)}
.tree>div{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px;gap:8px;align-items:center;padding:7px 14px;border-bottom:1px solid var(--panel2);font-size:13px}
.tree .th{font:700 10.5px "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel2)}
.tree .gr{font-weight:700;color:var(--ink);background:var(--bg)}.tree .it{padding-left:28px}.tree .it.sub{padding-left:44px;color:var(--text)}.tree .it.off>span:first-child{color:var(--muted)}
.tree label{display:grid;place-items:center;margin:0}.tree .sm{font-size:11.5px;text-align:center}
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.roles .role{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}.roles .role b{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink)}.roles .role .n{min-width:20px;height:20px;border-radius:10px;background:var(--panel2);font-size:11px;display:grid;place-items:center;font-weight:600}
.roles .role p{margin:4px 0 8px;font-size:12px;color:var(--muted)}.roles .rb{display:flex;flex-wrap:wrap;gap:4px}.roles .rb span{font-size:11px;font-weight:600;background:var(--panel2);border-radius:3px;padding:2px 6px;color:var(--text)}
/* ---- Kayıtlı kullanıcılar ---- */
.q{display:flex;flex-direction:column;gap:3px;min-width:120px}.q i{display:block;height:6px;border-radius:3px;background:var(--panel2);overflow:hidden}.q i b{display:block;height:100%;background:var(--p)}.q i b.w{background:var(--warn)}.q .mono{font-size:11px;color:var(--muted)}
.row2x{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dayseg{display:flex;flex-wrap:wrap;gap:4px 10px}.dayseg .chk{font-size:12px}
@media (max-width:980px){.lay--roles{grid-template-columns:1fr}.tree>div{grid-template-columns:minmax(0,1fr) 60px 50px}}

/* Y6: çıkış POST formu — bağlantıyla aynı görünüm */
.outf{margin:0;display:block}.outf button.out{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;cursor:pointer;font:inherit;text-align:left;color:var(--err);font-weight:600;font-size:13px;border-radius:8px;padding:8px 10px;transition:background .12s,color .12s}.outf button.out:hover{background:var(--err-soft)}.outf button.out svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;opacity:.8}.nav--foot .outf button.out{min-height:28px;padding:2px 4px;font-size:12px;border-radius:5px}.nav--foot .outf button.out svg{width:17px;height:17px}.btn-lnk{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* §11 tek durum etiketi sistemi (2026-10-05): .tag.st-ok yuvarlak yeşil · st-pend üçgen sarı · st-bad kare kırmızı · st-off içi boş kare gri · st-info halka (nitelik, durum değil).
   Üretici: View::state(kind, label) / View::tag(bool) / View::sessionStatus(). Eski .tag.ok|no|warn yalnız geriye uyum için aynı görünüme bağlı. */
.tag.ok,.tag.no,.tag.warn,.tag.st-info{background:none;padding:0;font-weight:600;color:inherit}
.tag.ok::before,.tag.no::before,.tag.warn::before,.tag.st-info::before{content:"";display:inline-block;width:8px;height:8px;margin:0 6px 1px 0;vertical-align:middle;border:0;clip-path:none}
.tag.ok::before{border-radius:50%;background:var(--ok)}.tag.no::before{border-radius:1px;background:var(--err)}.tag.warn::before{border-radius:0;background:var(--warn);clip-path:polygon(50% 0,100% 100%,0 100%)}
.tag.st-off::before{background:none;border:1.5px solid var(--line2);box-sizing:border-box}
.tag.st-info::before{border-radius:50%;background:none;border:1.5px solid var(--muted);box-sizing:border-box}

/* ui-std dialogs (fork A) — 2026-10-05: KVKK misafir seçici, değişen portal bölümü, durum şeridinde işlem düğmeleri, sech sağında form */
.gpick-wrap{flex-basis:100%;width:100%}.gpick-wrap:empty{display:none}
.gpick{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.gpick button{width:100%;justify-content:flex-start;text-align:left;white-space:normal;height:auto;min-height:34px;padding:6px 10px}
#dsar-gsel{margin-top:4px;font-size:12.5px;min-height:1em}
.sec.dirty>.sech h2::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-left:8px;vertical-align:middle}
.state>.acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sech form.r{margin-left:auto;display:flex;gap:6px;align-items:center}.sech form.r input[type=search]{width:auto;min-width:0;max-width:200px;height:32px}
.dlg .row{flex-wrap:wrap}.dlg .row>div{min-width:0;flex:1 1 200px}.dlg .row label{white-space:normal}
@media (max-width:640px){.sec table.rsp .acts{justify-content:flex-start}   /* kart görünümünde işlem düğmeleri solda, ekran dışına itilmez */
  form.qa>div.w-m,form.qa>div.w-l{flex-basis:100%}form.qa>div input,form.qa>div select{min-width:0;max-width:100%}}
@media (max-width:640px){.sech form.r{margin-left:0;width:100%}.sech form.r input[type=search]{flex:1;max-width:none}.state>.acts{margin-left:0;width:100%}}
/* ui-std tables (fork B): mobil kartta satır işlemleri tek satırda sarılır (alt alta tam satır düğme değil) */
@media (max-width:640px){table.rsp td.acts-cell .acts,table.rsp td .acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;max-width:none}table.rsp td.acts-cell .acts>form,table.rsp td .acts>form{display:inline-flex;margin:0}table.rsp td.acts-cell{width:auto;white-space:normal}
  /* başlık <thead> içinde gizlenir; tbody'nin İLK veri satırı görünür kalır (eski tr:first-child kuralı her listede ilk kaydı gizliyordu) */
  table.rsp thead{display:none}table.rsp tbody tr:first-child{display:block}}

/* kullanıcı sözleşmesi: yer tutucu ekleme düğmeleri */
.phs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 4px}.phs .mut{font-size:12.5px;margin-right:2px}

/* yönetici yetkileri (hesap bazlı) */
.capg{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:6px 0}

/* QR kodları */
.qrrow{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}.qrbox{min-width:120px;min-height:120px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}.qrbox.sm{min-width:0;min-height:0;padding:4px;border-radius:6px;display:inline-grid}.qrbox svg{display:block}

/* KVKK başvurusu: seçili misafir satırı alanların altında tam genişlik (alan hizasını bozmasın) */
#dsar-new .gsel{flex-basis:100%;width:100%;font-size:13px}#dsar-new .gsel:empty{display:none}
#dsar-new>div.w-l{flex:1 1 320px;max-width:620px}

/* Günlükler */
.ltabs{flex-wrap:wrap}.logt td{vertical-align:top}.logt .logmsg{max-width:520px;word-break:break-word}.logt details code{display:block;white-space:pre-wrap;font-size:11.5px;margin-top:4px}
.logpre{margin:0;padding:12px 16px;max-height:70vh;overflow:auto;font:12px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all;background:var(--bg)}
.logf>div.w-s{flex:0 1 160px}.logf input[type=date]{min-width:150px}
/* tarih aralığı seçici (admin.js): tek alan + takvim açılır panel */
.drp__btn{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 10px;border:1px solid var(--field-line);border-radius:8px;background:var(--panel);color:var(--ink);font:500 13.5px "Manrope",sans-serif;text-align:left;white-space:nowrap;cursor:pointer}
.drp__btn::before{content:"";width:15px;height:15px;flex:0 0 auto;opacity:.7;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
.drp__btn:hover{background:var(--panel2)}form.qa>div.drp{flex:0 1 240px}.fil .frow .drp__btn{height:32px;min-height:0;font-size:12.5px;min-width:200px}
.drp__pop{position:fixed;z-index:1000;width:296px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 16px 40px rgba(15,23,42,.18)}
html[data-theme=dark] .drp__pop{box-shadow:0 16px 40px rgba(0,0,0,.55)}
.drp__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drp__hd strong{color:var(--ink);font-size:14px}
.drp__pop button{min-height:0;border:0;background:none;color:var(--text);font:600 12.5px "Manrope",sans-serif;cursor:pointer;border-radius:6px;padding:0}
.drp__nav{width:30px;height:30px;font-size:18px!important}.drp__nav:hover:not(:disabled),.drp__d:hover:not(:disabled){background:var(--panel2)}
.drp__pop button:disabled{opacity:.35;cursor:default}
.drp__g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}
.drp__wd{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:2px 0 4px}
.drp__d{height:34px;font-variant-numeric:tabular-nums}.drp__d.out{color:var(--muted)}.drp__d.now{box-shadow:inset 0 0 0 1px var(--p-line)}
.drp__d.in{background:var(--p-soft);border-radius:0;color:var(--ink)}.drp__d.s,.drp__d.e{background:var(--p)!important;color:#fff!important}
.drp__d.s{border-radius:6px 0 0 6px}.drp__d.e{border-radius:0 6px 6px 0}.drp__d.s.e{border-radius:6px}
.drp__hint{font-size:11.5px;min-height:18px;margin:6px 2px 4px}
.drp__ft{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border-top:1px solid var(--line);padding-top:8px}
.drp__ft span{display:flex;flex-wrap:wrap;gap:4px 10px}.drp__ft button{color:var(--p);padding:2px 0}.drp__ft button:hover{text-decoration:underline}
/* ayar formunda onay kutusu grupları: başlık + üst çizgi, kutular hizalı ızgara (Portal → Giriş yöntemleri) */
.optg{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}
.optg h4{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.optg__c{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 20px;align-items:start;flex:1 1 auto;min-width:0}
.optg .chk{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.4;color:var(--text)}.optg .chk input{flex:0 0 auto;margin-top:1px}
.optg__r{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}.optg__f{flex:0 0 220px;display:flex;flex-direction:column}.optg__f label{margin-bottom:4px}
.optg+.sub{margin-top:14px}
/* DNS kayıtları (dns.php): durum şeridi, süzgeç çipleri, KPI, grafikler, seçilebilir tablo */
.dnsst{margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.dnsst>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;cursor:pointer;list-style:none;font-size:12.5px}.dnsst>summary::-webkit-details-marker{display:none}
.dnsst__p{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}.dnsst__p i{width:8px;height:8px;border-radius:50%;background:var(--ok)}.dnsst__p.off i{background:var(--err)}.dnsst__p.off{color:var(--err)}
.dnsst__m{color:var(--muted)}.dnsst__t{margin-left:auto;color:var(--p);font-weight:600}.dnsst__t::after{content:" ▾"}.dnsst[open] .dnsst__t::after{content:" ▴"}
.dnsst__b{padding:0 14px 14px}.dnsst__b .state{margin:0 0 10px}
form.dnsf{margin:0 0 10px}.dnsf__noise{flex:1 1 100%;font-size:12.5px;color:var(--text)}
.dnsc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 12px;font-size:12.5px}
.dnsc__r{font-weight:700;color:var(--ink);margin-right:4px}
.dnsc__c{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid var(--p-line);border-radius:999px;background:var(--p-soft);color:var(--p);text-decoration:none}
.dnsc__c span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:14px;line-height:1}.dnsc__c:hover span{background:var(--p);color:#fff}
.dnsc__x{color:var(--muted)}.dnsc__g{color:var(--text)}
.dnsk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.dnsk .kpi{margin:0}
.dnsg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px}.dnsg>.card{margin:0;min-width:0}.dnsg__w{grid-column:1/-1}
.dnsg__h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px}.dnsg__h h3{margin:0;font-size:13.5px}.dnsg__h .mut{font-size:11.5px}.dnsg__s{margin:14px 0 8px;font-size:12.5px}
.tl{position:relative;padding:14px 0 0}.tl__y{position:absolute;top:-4px;left:0;font-size:11px;color:var(--muted)}
.tl__bars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:end;gap:2px;height:150px;border-bottom:1px solid var(--line2);background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 50%}
.tl__b{position:relative;display:flex;align-items:flex-end;height:100%;min-width:0;text-decoration:none}
.tl__b i{display:block;width:100%;max-width:28px;margin:0 auto;height:var(--h);min-height:2px;border-radius:4px 4px 0 0;background:var(--p);opacity:.85;transition:opacity .12s}
.tl__b.z i{background:var(--line2);min-height:1px}.tl__b:hover i{opacity:1}a.tl__b{cursor:pointer}
.tl__b:hover::after,.stk i:hover::after{content:attr(data-tip);position:absolute;bottom:calc(var(--h,100%) + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;border-radius:6px;background:var(--ink);color:var(--panel);font-size:11.5px;font-weight:600;z-index:5;pointer-events:none}
.tl__x{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;margin-top:4px}.tl__x span{font-size:10.5px;color:var(--muted);text-align:center;white-space:nowrap;overflow:visible}
.hb{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;margin:0 -6px;border-radius:6px;color:var(--text);text-decoration:none;font-size:12.5px}
a.hb:hover{background:var(--panel2)}.hb__l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}.hb__l .mut{font-weight:500}
.hb__t{height:8px;border-radius:4px;background:var(--panel2);overflow:hidden}.hb__t i{display:block;height:100%;border-radius:4px;background:var(--p)}.hb__v{font-variant-numeric:tabular-nums;color:var(--muted);min-width:42px;text-align:right}
.hb.sm{font-size:12px;padding:2px 6px}
.stk{display:flex;height:14px;border-radius:7px;overflow:visible;gap:2px;margin:2px 0 10px}.stk i{position:relative;display:block;height:100%;min-width:3px;border-radius:4px;--h:100%}
.stk i.ok,.lg i.ok{background:var(--ok)}.stk i.warn,.lg i.warn{background:var(--warn)}.stk i.bad,.lg i.bad{background:var(--err)}.stk i.mut,.lg i.mut{background:var(--line2)}
.lg{display:flex;flex-direction:column;gap:4px}.lg__i{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);text-decoration:none;padding:2px 4px;border-radius:6px}a.lg__i[href]:hover{background:var(--panel2)}.lg__i i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.lg__i b{margin-left:auto;font-variant-numeric:tabular-nums}
.dnst{margin:0}.dnst__h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.dnst__h h3{margin:0}
.selbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:10px;background:var(--p-soft);border:1px solid var(--p-line);font-size:12.5px;color:var(--ink)}.selbar[hidden]{display:none}
.dnstb th.ck,.dnstb td.ck{width:34px;padding-right:0}.dnstb td.ck input,.dnstb th.ck input{width:16px;height:16px;margin:0;cursor:pointer}
.dnstb tbody tr{cursor:default}.dnstb tbody tr.sel td{background:var(--p-soft)}.dnstb td.dq{word-break:break-all;max-width:360px}.dnstb td a{text-decoration:none}.dnstb td a:hover{text-decoration:underline}
@media (max-width:1100px){.dnsg{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.dnsk{grid-template-columns:1fr 1fr}.dnsg{grid-template-columns:1fr}.tl__bars{height:110px}}
/* hs-select listesi metne göre genişler (kutuya sıkışıp kesilmez); en az tetikleyici kadar, en çok 360px; sağa taşarsa sağa yaslanır */
.cs__list{right:auto;min-width:100%;width:max-content;max-width:min(360px,calc(100vw - 24px));overflow-x:hidden}
.cs.rt .cs__list{left:auto;right:0}.cs__opt{white-space:normal;overflow-wrap:anywhere}
/* açılır panel (details.dpop): Raporlar → Rapor türü / Süzgeçler / Dışa aktar */
details.dpop{position:relative}details.dpop>summary{list-style:none;cursor:pointer}details.dpop>summary::-webkit-details-marker{display:none}
details.dpop>summary .cs__chev{margin-left:8px}details.dpop[open]>summary .cs__chev{transform:translateY(2px) rotate(-135deg)}
.pop__p{position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:100%;padding:8px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 16px 40px rgba(17,24,39,.16),0 2px 6px rgba(17,24,39,.06);animation:csin .14s ease-out}
details.dpop.rt .pop__p{left:auto;right:0}html[data-theme=dark] .pop__p{box-shadow:0 16px 40px rgba(0,0,0,.55)}
/* Raporlar araç çubuğu */
.rbar{gap:10px;padding:12px 14px}.rbar__r{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.rbar__f{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:0;font-size:11.5px;font-weight:600;color:var(--muted)}.rbar__f .cs{min-width:150px}.rbar__f .drp__btn{min-width:230px}
.rbar .sp{flex:1}.rbar__s{margin:0;font-size:11.5px}
.rpick{flex:0 1 auto;min-width:260px}.rpick__btn{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"k k c" "v g c";align-items:center;column-gap:8px;padding:6px 12px;min-height:44px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}
.rpick__btn:hover{box-shadow:0 3px 10px rgba(17,24,39,.08)}.rpick__k{grid-area:k;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rpick__btn b{grid-area:v;font:700 14px "DM Sans",sans-serif;color:var(--ink);white-space:nowrap}.rpick__g{grid-area:g;font-size:11.5px;color:var(--muted);white-space:nowrap}.rpick__btn .cs__chev{grid-area:c}
.rpick__p{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:4px 14px;width:min(920px,calc(100vw - 48px));padding:12px}
.rpick__h{padding:4px 8px 6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rpick__c a{display:block;padding:6px 8px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600;line-height:1.3}.rpick__c a small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.rpick__c a:hover{background:var(--panel2)}.rpick__c a.on{background:var(--p-soft);color:var(--p)}
.seg{display:inline-flex;flex-wrap:wrap;padding:3px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);gap:2px;align-self:center}
.seg a{padding:5px 10px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--text);text-decoration:none;white-space:nowrap}.seg a:hover{color:var(--ink);background:var(--panel)}.seg a.on{background:var(--panel);color:var(--p);box-shadow:0 1px 3px rgba(17,24,39,.12)}
.rflt>summary,.rexp>summary{display:inline-flex;align-items:center;height:34px}.rflt .cnt{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--p);color:#fff;font:700 11px/1 "Manrope",sans-serif;font-style:normal}
.rflt__p{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:10px 12px;width:min(440px,calc(100vw - 48px));padding:14px}
.rflt__p label{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:0;font-size:11.5px;font-weight:600;color:var(--muted)}.rflt__a{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid var(--line)}
.rexp__p{width:260px;padding:6px}.rexp__p a{display:block;padding:7px 10px;border-radius:7px;color:var(--ink);text-decoration:none}.rexp__p a:hover{background:var(--panel2)}.rexp__p a b{display:block;font-size:13px}.rexp__p a small{font-size:11.5px;color:var(--muted)}
#rep>.rep-h{margin-top:4px}
@media (max-width:1100px){.rpick__p{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media (max-width:640px){.rpick{min-width:0;flex:1 1 100%}.rpick__p{grid-template-columns:1fr}.rflt__p{grid-template-columns:1fr}}
/* Raporlar → Şablonlar (kart ızgarası) ve Zamanlanmış gönderim (satır kartları + anahtar) */
.rnote{margin:0 0 12px;font-size:12.5px;color:var(--muted)}
.rwarn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 12px;padding:9px 14px;border-radius:10px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--ink);font-size:12.5px}.rwarn a{font-weight:700;color:var(--warn);text-decoration:none}
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rcard{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);transition:box-shadow .15s,border-color .15s}.rcard:hover{border-color:var(--p-line);box-shadow:0 6px 18px rgba(17,24,39,.07)}
.rcard__h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rcard__h h3{margin:0;font:700 14.5px "DM Sans",sans-serif}.rcard__h h3 a{color:var(--ink);text-decoration:none}.rcard__h h3 a:hover{color:var(--p)}
.rcard__m{margin:0;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text)}.rcard__f{margin:0;font-size:12px;color:var(--muted)}
.ic-cal{width:13px;height:13px;flex:0 0 auto;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
.rchips{display:flex;flex-wrap:wrap;gap:4px}.rchips span{padding:2px 8px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);font-size:11.5px;color:var(--text);white-space:nowrap}
.rchips span.more{background:var(--p-soft);border-color:var(--p-line);color:var(--p);font-weight:700;cursor:help}.rchips span.fmt{background:none;border-style:dashed;font-weight:700;font-size:10.5px;letter-spacing:.04em;color:var(--muted)}
.rcard__a{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line)}.rcard__a .sp{flex:1}.rcard__by{font-size:11.5px}
.slist{display:flex;flex-direction:column;gap:8px}
.srow{display:grid;grid-template-columns:auto minmax(0,2.4fr) minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.srow:not(.on) .srow__main h3 a{color:var(--text)}.srow__main{min-width:0;display:flex;flex-direction:column;gap:4px}
.srow__main h3{margin:0;font:700 14px "DM Sans",sans-serif}.srow__main h3 a{color:var(--ink);text-decoration:none}.srow__main h3 a:hover{color:var(--p)}
.srow__w{margin:0;font-size:12.5px;color:var(--muted)}.srow__w b{color:var(--ink);font-weight:700}
.srow__to{display:flex;flex-direction:column;gap:1px;font-size:12px;min-width:0}.srow__run{display:block;font-size:12px;line-height:1.7;min-width:0;white-space:nowrap}.srow__to b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow__run{font-variant-numeric:tabular-nums;color:var(--ink)}
.srow__run .ok{color:var(--ok)}.srow__run .bad{color:var(--err);cursor:help}
.srow__need{font-weight:700;color:var(--warn);text-decoration:none}.srow__need::before{content:"+ "}
.srow__a{display:flex;align-items:center;gap:6px}.srow__a details.dpop .pop__p{left:auto;right:0}
.srow__sw{margin:0}.sw-btn{position:relative;width:38px;height:22px;min-height:0;padding:0;border:0;border-radius:11px;background:var(--line2);cursor:pointer;transition:background .15s}
.sw-btn i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.sw-btn.on{background:var(--ok)}.sw-btn.on i{transform:translateX(16px)}.sw-btn:disabled{opacity:.45;cursor:not-allowed}.sw-btn:hover:not(:disabled){background-image:none;filter:brightness(.95)}
.rexp__p form{margin:0}.rexp__p .mi{display:block;width:100%;padding:7px 10px;border:0;border-radius:7px;background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer;min-height:0}.rexp__p .mi:hover{background:var(--panel2)}
.rexp__p .mi b{display:block;font-size:13px}.rexp__p .mi small{font-size:11.5px;color:var(--muted)}.rexp__p .mi.dng b{color:var(--err)}.rexp__p span.mi{font-size:12px;cursor:default}
/* zamanlama dialog'u: üç adım */
.schf{gap:4px}.schf__s{padding:12px 0 14px;border-bottom:1px solid var(--line)}.schf__s:first-of-type{padding-top:0}
.schf__s h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:700 13.5px "DM Sans",sans-serif;color:var(--ink)}.schf__s h4 span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--p-soft);color:var(--p);font-size:11.5px}
.schf__types{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.schf__types>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.schf__n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--p);color:#fff;font-size:11px}
.schf__tg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:10px}.schf__tg>div{display:flex;flex-direction:column;gap:4px}.schf__tg b{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.dlg__body .f .schf__tg label.chk{font-size:12.5px}
.schf__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.schf__row label{display:flex;flex-direction:column;align-items:stretch;gap:3px;font-size:12px}.schf__row label[hidden]{display:none}
.schf__row2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:10px;align-items:end}
.tgl3{display:inline-flex;padding:3px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);gap:2px}.tgl3 label{display:block;margin:0;cursor:pointer}.tgl3 input{position:absolute;opacity:0;pointer-events:none}
.tgl3 span{display:block;padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:700;color:var(--muted)}.tgl3 input:checked+span{background:var(--panel);color:var(--p);box-shadow:0 1px 3px rgba(17,24,39,.12)}.tgl3 input:focus-visible+span{outline:2px solid var(--ring)}
.schf__adv{margin-top:12px}.schf__adv>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--p)}.schf__adv .schf__row{margin:10px 0}
.schf__foot{align-items:center}.schf__foot .sp{flex:1}.schf__on{margin:0!important}
@media (max-width:900px){.srow{grid-template-columns:auto minmax(0,1fr) auto}.srow__to,.srow__run{display:none}.schf__tg{grid-template-columns:1fr}.schf__row2{grid-template-columns:1fr}}
/* Raporlar → Gönderim geçmişi: durum segmenti + güne göre gruplu akış + boş durum */
.rempty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 20px;border:1px dashed var(--line2);border-radius:var(--r);background:var(--panel)}
.rempty h3{margin:4px 0 0;font:700 15px "DM Sans",sans-serif;color:var(--ink)}.rempty p{margin:0 0 8px;max-width:440px;font-size:12.5px;color:var(--muted)}
.rempty__i{width:44px;height:44px;border-radius:12px;background:var(--p-soft) center/22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='m4 6 8 6 8-6'/%3E%3C/svg%3E")}
.hbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;font-size:12.5px}
.seg a i{font-style:normal;margin-left:4px;padding:0 6px;border-radius:8px;background:var(--line);font-size:11px;color:var(--text)}.seg a.on i{background:var(--p-soft);color:var(--p)}.seg a .hdot{margin-right:6px}
.hdot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--line2)}.hdot.ok{background:var(--ok)}.hdot.bad{background:var(--err)}.hdot.info{background:var(--sky)}
.hlist{display:flex;flex-direction:column;gap:14px}.hday h3{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hday{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:10px 16px 4px}.hday h3{padding-bottom:4px;border-bottom:1px solid var(--line)}
.hrow{display:grid;grid-template-columns:auto 44px minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,.9fr) auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--panel2);font-size:12.5px}.hrow:last-child{border-bottom:0}
.hrow time{color:var(--muted)}.hrow__m{display:flex;flex-direction:column;min-width:0}.hrow__m b{color:var(--ink);font-weight:700}.hrow__m p{margin:2px 0 0;font-size:12px}
.hrow__err{color:var(--err)}.hrow__to{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrow__att span{font-family:ui-monospace,monospace;font-size:11px}
.hrow[hidden],.hday[hidden]{display:none}.hnone{margin:12px 0}
@media (max-width:900px){.hrow{grid-template-columns:auto 44px minmax(0,1fr) auto}.hrow__att,.hrow__to{display:none}}
/* Kullanıcı raporu: araç çubuğu genişlikleri + katlanır grafik kartı (Çubuk / Dalga / Pasta, SVG) */
.rbar__w{flex:1 1 220px;min-width:180px}.rbar__w input{width:100%}.rflt__wide{grid-column:1/-1;flex-direction:row!important;align-items:center!important;color:var(--text)!important;font-size:12.5px!important}
.dns-qp{width:300px}.dns-qp .mi.on{background:var(--p-soft)}.dns-qp .mi.on b{color:var(--p)}
details.dnsch{margin:0 0 12px;padding:0}.dnsch__s{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;cursor:pointer;list-style:none}.dnsch__s::-webkit-details-marker{display:none}
.dnsch__t{font:700 13.5px "DM Sans",sans-serif;color:var(--ink)}.dnsch__t b{color:var(--p)}.dnsch__h{font-size:11.5px}.dnsch__h::after{content:" ▴"}details.dnsch:not([open]) .dnsch__h::after{content:" ▾"}
.dnsch__b{position:relative;padding:0 16px 16px}.dnsch__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:12px}
.dnsch__plot{min-height:120px}.dnsch__svg{display:block;max-width:100%;overflow:visible}
.dnsch__svg .gl{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.dnsch__svg .ax,.dnsch__donut .ax{fill:var(--muted);font:500 11px "Manrope",sans-serif}
.dnsch__svg .vb{fill:var(--p);opacity:.85}.dnsch__svg .vb.hi{opacity:1}
.dnsch__svg .area{fill:var(--p);opacity:.12}.dnsch__svg .ln{fill:none;stroke:var(--p);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.dnsch__svg .dot{fill:var(--p);stroke:var(--panel);stroke-width:2;vector-effect:non-scaling-stroke}
.dnsch__hb{display:flex;flex-direction:column;gap:2px;max-width:900px}.dnsch__hb .hb{cursor:default}
.dnsch__pie{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px}.dnsch__donut{width:220px;height:220px;flex:0 0 auto}
.dnsch__donut .slice{stroke:var(--panel);stroke-width:2;transition:opacity .12s}.dnsch__donut .slice:hover{opacity:.82}.dnsch__tot{fill:var(--ink);font:800 22px "DM Sans",sans-serif}
.dnsch__lg{flex:1 1 260px;max-width:420px}.dnsch__lg .lg__n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dnsch__tip{position:absolute;transform:translate(-50%,-100%);padding:5px 9px;border-radius:6px;background:var(--ink);color:var(--panel);font-size:11.5px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:5}
.dnsch__e{margin:24px 0;text-align:center}
@media (max-width:640px){.dnsch__donut{width:180px;height:180px}}
.cfgs .cfg{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px}.cfg__h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cfgs .cfg p{margin:6px 0 10px;font-size:12.5px}.cfg__a{display:flex;flex-wrap:wrap;gap:8px}
.rpick__pk{background:var(--p-soft,#eef2ff);border-radius:10px;padding-bottom:4px}.rep-pack{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.rep-pack a{padding:4px 10px;border:1px solid var(--line2);border-radius:999px;font-size:12px;text-decoration:none;color:var(--ink);background:var(--panel)}.rep-pack a:hover{border-color:var(--p);color:var(--p)}
.rep-h2{scroll-margin-top:80px;margin:22px 0 8px;padding-top:14px;border-top:2px solid var(--line)}.rep-h2:first-of-type{border-top:0;padding-top:0}
#rep td.wrap{white-space:normal;min-width:240px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);line-height:1.5}
.mprov__h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mprov__h h4{margin:0}.mprov__add,.mprov__more{display:flex;flex-direction:column;min-width:200px;padding:6px}
.mprov__add a,.mprov__more button{display:block;text-align:left;padding:7px 10px;border-radius:6px;border:0;background:none;color:var(--ink);font:inherit;text-decoration:none;cursor:pointer}.mprov__add a:hover,.mprov__more button:hover{background:var(--panel2)}.mprov__more .dng{color:var(--err)}
.mprov__t tr.off td{opacity:.6}.mprov__t .acts{white-space:nowrap}.mprov__t .acts details{display:inline-block}
.mprov__t .acts>a,.mprov__t .acts>button,.mprov__t .acts summary{text-decoration:none;height:26px;min-height:0;padding:0 8px;border:1px solid var(--line2);border-radius:5px;background:var(--panel);font:600 12px "Manrope",sans-serif;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;list-style:none}.mprov__t .acts summary::-webkit-details-marker{display:none}
