/* gLodRa v7 - tokens and app-shell (app.glodra.com ile aynı dil) */
:root{
  color-scheme:light;
  --paper:#ffffff; --shell:#f7f9fb; --card:#eef2f6; --line:#e4e9ef; --line-soft:#edf1f5;
  --ink:#0c1a28; --ink-2:#4a5b6b; --ink-3:#8595a4;
  --navy:#0d2438; --navy-deep:#081726; --blue:#2563b8; --teal:#138a73; --green:#2f8f4e;
  --amber:#c47d2a; --rust:#c25d3a; --rust-soft:#f7e8e2; --info-bg:#eef2f8;
  --ok:var(--green); --warn:var(--amber); --risk:var(--rust);
  --brand-rule:linear-gradient(90deg,var(--navy),var(--teal) 62%,var(--green));
  --brand-gradient:linear-gradient(150deg,var(--navy),var(--teal) 75%,var(--green));
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;
  --r:10px; --side:262px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-text-size-adjust:100%}
a{color:var(--blue);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0 0 10px;color:var(--ink);letter-spacing:-.01em}
h1{font-size:26px} h2{font-size:18px} h3{font-size:15.5px}

/* ---------- shell (gLodRa v7 #app: sol panel tam boy ve sabit, sağ sütun kendi içinde kayar) ---------- */
.gshell{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--paper)}
.side{width:var(--side);flex:none;height:100%;display:flex;flex-direction:column;background:var(--shell);border-right:1px solid var(--line);padding-top:20px;overflow:hidden}
.side>*{flex:none}
.sbrand{padding:0 22px 16px}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink)}
.mark{width:34px;height:34px;border-radius:9px;background:var(--brand-gradient);color:#fff;font:800 16px/34px var(--serif);text-align:center;flex:0 0 34px}
.word{font:700 22px var(--serif);color:var(--navy);letter-spacing:-.01em}
.slbl{font:10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:12px 22px 6px}
.picker{padding:0 16px 8px}
.picker select{width:100%;font:15px var(--serif);padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);min-height:0}
.smeta{padding:0 22px 14px;font-size:12px;color:var(--ink-3);border-bottom:1px solid var(--line);line-height:1.5}
.side>.snav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 10px 0}
.ssec{font:10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:12px 12px 4px}
.srow{display:flex;align-items:center;padding:6px 8px;border-radius:7px;color:var(--ink)}
.srow .dot{width:14px;flex:none;font:11px Arial,Helvetica,sans-serif;color:var(--green)}
.srow .nm{font:15px var(--serif);flex:1;color:var(--ink)}
.srow:hover .nm{color:var(--green)}
.srow .ct{font:10.5px var(--mono);color:var(--ink-3)}
.srow.on .nm{font-weight:600}
.legend{margin:14px -10px 0;padding:16px 22px;font:10.5px/1.7 var(--mono);color:var(--ink-3);border-top:1px solid var(--line);background:var(--shell);word-break:break-word}
.gmain{position:relative;flex:1;min-width:0;height:100%;overflow-y:auto}
.content{position:relative;max-width:1080px;padding:26px 34px 48px}
.content>h1:first-child,.content>.crumbs:first-child,.content>.row:first-child{padding-right:52px}
.gacct{position:absolute;top:22px;right:34px;z-index:8;display:flex;align-items:center;gap:10px}
.burger{display:none;position:absolute;top:18px;left:14px;z-index:8;border:1px solid var(--line);background:var(--paper);border-radius:8px;width:38px;height:38px;cursor:pointer}
.acct{position:relative}
.acct summary{list-style:none;cursor:pointer} .acct summary::-webkit-details-marker{display:none}
.avatar{display:block;width:34px;height:34px;border-radius:50%;background:var(--brand-gradient);color:#fff;font:800 15px/34px var(--serif);text-align:center}
.apanel{position:absolute;right:0;top:42px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 34px rgba(26,26,26,.12);min-width:230px;padding:4px 0;z-index:40}
.apanel .ahd{padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.apanel a{display:block;padding:9px 14px;color:var(--ink);font-size:14px} .apanel a:hover{background:var(--shell)}
.parties{display:flex;align-items:center;justify-content:center;background:var(--shell);border-bottom:1px solid var(--line);padding:10px 90px 10px 34px}
.parties .plogo{flex:1;max-width:240px;display:flex;align-items:center;justify-content:center;height:40px;padding:0 20px}
.parties .plogo+.plogo{border-left:1px solid var(--line)}
.parties img{max-height:30px;max-width:100%;width:auto}
footer{display:none}
.scrim{display:none}

/* ---------- components ---------- */
.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px 16px;margin:0 0 16px;overflow:hidden}
.card::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--brand-rule)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column-reverse;justify-content:flex-end}
.kpi .n{font:400 26px/1.4 var(--serif);color:var(--ink)}
.kpi .l{font:10px/1.6 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}
.kpi .kn{font-size:12px;color:var(--ink-2)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row>*{flex:0 1 auto}
.grow{flex:1 1 200px}
input,select,textarea{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 11px;min-height:40px;max-width:100%;font-size:14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(19,138,115,.12)}
textarea{width:100%;min-height:80px}
label.f{display:block;margin:10px 0 3px;font:10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}
.btn{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:8px;padding:8px 14px;min-height:40px;cursor:pointer;font-size:14px}
.btn:hover{background:var(--navy-deep)}
.btn.sec{background:var(--paper);color:var(--ink);border-color:var(--line)} .btn.sec:hover{background:var(--shell)}
.btn.ok{background:var(--teal);border-color:var(--teal)} .btn.bad{background:var(--rust);border-color:var(--rust)}
.btn:disabled{opacity:.45;cursor:default}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:10px 13px;vertical-align:top}
td{border-top:1px solid var(--line-soft)}
th{font:10px/1.5 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);background:var(--card);font-weight:400}
tr.click{cursor:pointer} tr.click:hover td{background:var(--shell)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
.card .tw{margin-top:6px}
.pill{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:var(--card);color:var(--ink-2);white-space:nowrap}
.pill.ok{background:#e3f2e8;color:var(--green)} .pill.warn{background:#f8eedf;color:var(--amber)} .pill.risk{background:var(--rust-soft);color:var(--rust)}
.pill.info{background:var(--info-bg);color:var(--blue)}
.mono{font-family:var(--mono);font-size:12.5px}
.muted{color:var(--ink-3)}
.crumbs{font:13px var(--mono);color:var(--ink-3);margin-bottom:10px}.crumbs a{display:inline-block;padding:6px 2px}
.tree a{display:flex;align-items:baseline;gap:6px;padding:5px 10px;border-radius:7px;color:var(--ink);font-size:14px}
.tree a:hover{background:var(--card)}
.tree a .ct{margin-left:auto;font:11px var(--mono);color:var(--ink-3)}
.tree a.grp{font:600 15px var(--serif);margin-top:4px}
.tree a.sub{padding-left:22px}
.tree a.bld{padding-left:36px;font-size:13px}
.tree a.bld .muted{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tree a.empty{color:var(--ink-3)}
.tree a.sel{background:var(--card);font-weight:600}
tr.grow-row td{background:var(--shell)}
.split{display:grid;grid-template-columns:240px 1fr;gap:16px}
.split>*{min-width:0}
details.treebox>summary{cursor:pointer;font:600 16px var(--serif);padding:4px 0;list-style:none}
.photos{display:flex;gap:8px;flex-wrap:wrap}
.photos img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:pointer}
.check{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{border:0;background:var(--paper);padding:8px 12px;min-width:52px;min-height:40px}
.seg button.on.OK{background:var(--green);color:#fff}.seg button.on.NOK{background:var(--rust);color:#fff}.seg button.on.NA{background:var(--ink-3);color:#fff}
#queue{font:11px var(--mono);padding:3px 8px;border-radius:6px;background:var(--amber);color:#fff;display:none}
#queue.on{display:inline-block}
#offline{display:none;background:var(--amber);color:#fff;text-align:center;padding:4px;font-size:13px}
#offline.on{display:block}
.modal{position:fixed;inset:0;background:rgba(8,23,38,.45);display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;z-index:50;overflow:auto}
.modal .box{background:var(--paper);border-radius:14px;max-width:640px;width:100%;padding:20px 22px;border:1px solid var(--line)}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:60;font-size:14px}
footer{text-align:center;font:11px var(--mono);color:var(--ink-3);padding:24px 16px}
.hold{color:var(--rust);font-weight:600}

/* ---------- login ---------- */
.gh{display:flex;align-items:center;gap:14px;padding:12px 28px;background:var(--paper)}
.gh .sp{flex:1}
.prod{font:11.5px var(--mono);color:var(--ink-3);padding-left:14px;border-left:1px solid var(--line);white-space:nowrap}
.grule{height:3px;background:var(--brand-rule)}
.langb{font:12px/1 var(--mono);letter-spacing:.08em;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.langb:hover{border-color:var(--teal);color:var(--teal)}
.login{max-width:400px;margin:0 auto;padding:24px 16px 6vh;min-height:calc(100vh - 62px);min-height:calc(100dvh - 62px);display:flex;flex-direction:column;justify-content:center}
.login .card{padding:24px 26px 20px}
.login .slbl{padding:4px 0 2px}
.login h1{font-size:22px;margin-bottom:8px}
.lfoot{text-align:center;font:11px var(--mono);color:var(--ink-3);margin-top:22px}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:45;transform:translateX(-100%);transition:transform .2s}
  body.nav-open .side{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(8,23,38,.35);z-index:44}
  .burger{display:block}
  .gacct{top:18px;right:14px}
  .gh{padding:10px 14px;gap:10px}
  .content{padding:68px 14px 32px}
  .parties{padding:64px 6px 8px}
  .parties .plogo{padding:0 8px;height:32px}
  .parties img{max-height:22px}
  .parties+.content{padding-top:16px}
  .split{grid-template-columns:1fr}
  th,td{padding:8px 9px}
  h1{font-size:22px}
}
@media print{.side,.burger,.gacct,.parties,.noprint{display:none!important} .gshell{display:block;height:auto;overflow:visible} .gmain{height:auto;overflow:visible} body{background:#fff} .card{border:0} .card::before{display:none} .content{padding:0;max-width:none}}
td.mono,td:first-child{white-space:nowrap}
.obs{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.obs:last-child{border-bottom:0}
.obs .ok-dot{flex:0 0 20px;height:20px;border-radius:50%;background:#e3f2e8;color:var(--green);font-size:12px;line-height:20px;text-align:center;margin-top:2px}
.obs .photos img{width:72px;height:72px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.gal figure{margin:0}.gal img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:zoom-in;display:block}
.gal figcaption{font:11.5px var(--mono);color:var(--ink-2);margin-top:4px}
.photos img{cursor:zoom-in}
.lb{position:fixed;inset:0;background:rgba(8,23,38,.88);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.lb img{max-width:92vw;max-height:84vh;border-radius:8px;object-fit:contain;background:#000}
.lb figcaption{color:#fff;font:13px var(--mono);margin-top:8px}.lb figcaption .muted{color:#b4c2cf}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:46px;height:46px;border-radius:50%;font-size:26px;cursor:pointer}
.lbx{top:16px;right:16px}.lbp{left:16px;top:50%}.lbn{right:16px;top:50%}
a.obsl{color:var(--ink)}a.obsl:hover{color:var(--blue)}
.warn{color:var(--amber)}
input[type=checkbox],input[type=radio]{min-height:0;padding:0;width:20px;height:20px;vertical-align:middle;accent-color:var(--teal)}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:40px;cursor:pointer}
.row>label{display:inline-flex;align-items:center;gap:6px}
.uadm input[data-k=name]{width:150px}.uadm select{max-width:160px}.uadm td{vertical-align:middle}.uadm td:nth-child(5){min-width:150px}

/* ---------- saha turu ---------- */
.tgrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;align-items:start}
.tgrid>div>.card:first-child{margin-top:0}
.tmap{position:relative;line-height:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.tmap img{width:100%;height:auto;display:block}
.tmap svg{position:absolute;inset:0;width:100%;height:100%}
.tmap .tap{fill:transparent;cursor:crosshair}
.bpoly{fill:rgba(37,99,184,.10);stroke:var(--blue);stroke-width:2;cursor:pointer}
.bpoly.route{fill:rgba(47,143,78,.38);stroke:var(--green);stroke-width:3}
.lg{display:inline-block;width:12px;height:12px;border-radius:3px;border:2px solid var(--blue);background:rgba(37,99,184,.10);vertical-align:-2px;margin-right:5px}.lg.route{border-color:var(--green);background:rgba(47,143,78,.38)}
.blist{max-height:62vh;overflow:auto}.blrow .btn{flex:none;padding:7px 12px;font-size:13px}
.bpoly.grp{fill:rgba(120,130,140,.10);stroke:#7a8794;stroke-dasharray:5 3}
.lg.grp{border-color:#7a8794;border-style:dashed;background:rgba(120,130,140,.10)}
.bpoly:hover{fill:rgba(19,138,115,.32)}
/* ziyaret durumu: bu ziyarette · 30+ gün · hiç */
.bpoly.here,.bpoly.grp.here{fill:rgba(47,143,78,.38);stroke:var(--green);stroke-width:3}
.bpoly.old{fill:rgba(196,125,42,.22);stroke:var(--amber);stroke-width:2.5}
.bpoly.never,.bpoly.grp.never{fill:rgba(194,93,58,.07);stroke:var(--rust);stroke-width:2}
.lg.here{border-color:var(--green);background:rgba(47,143,78,.38)}.lg.old{border-color:var(--amber);background:rgba(196,125,42,.22)}.lg.never{border-color:var(--rust);background:rgba(194,93,58,.16)}
.lastv{font-size:12px;margin-top:2px;color:var(--ink-3)}.lastv.old{color:var(--amber)}.lastv.never{color:var(--rust)}
.blab{font:700 22px var(--serif);fill:var(--navy);text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.spin{cursor:pointer}.spin rect{fill:var(--rust);stroke:#fff;stroke-width:3}.spin text{fill:#fff;font:800 20px var(--sans);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.spin.closed rect{fill:var(--green)}
.stpin{cursor:pointer}.stpin circle{fill:var(--navy);stroke:#fff;stroke-width:4}.stpin text{fill:#fff;font:700 22px var(--sans);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.stpin.done circle{fill:var(--green)}.stpin.nok circle{stroke:var(--rust);stroke-width:7}
.stpin:hover circle{fill:var(--teal)}
.note{background:var(--info-bg);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink-2);margin-bottom:12px}
.blrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 4px;border-top:1px solid var(--line-soft);color:var(--ink)}
.blrow:first-of-type{border-top:0}.blrow:hover{background:var(--shell)}.blrow.off{opacity:.7}
.prog{height:6px;background:var(--card);border-radius:4px;overflow:hidden}.prog>div{height:100%;background:var(--brand-rule)}
.preq{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft)}
.preq:first-of-type{border-top:0}.preq .tt{flex:1;min-width:0}.preq.done{opacity:.55}
.preq img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:zoom-in;flex:none}
.ph0{width:64px;height:64px;border-radius:8px;background:var(--card);display:flex;align-items:center;justify-content:center;font:12px var(--mono);color:var(--ink-3);flex:none}
details.tdev{border-top:1px solid var(--line-soft);padding:4px 0}
details.tdev>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:9px 10px;list-style:none;background:var(--shell);border:1px solid var(--line);border-radius:10px;margin:4px 0}
details.tdev>summary::before{content:'›';display:inline-block;width:14px;flex:0 0 14px;text-align:center;font:600 18px/1 var(--sans);color:var(--teal);transition:transform .15s}
details.tdev[open]>summary::before{transform:rotate(90deg)}
details.tdev>summary>.mono{font-weight:700;color:var(--ink)}
details.tdev[open]>summary{background:var(--info-bg);border-color:#cfdbe8}
details.tdev[open]>:not(summary){margin-left:16px!important;padding-left:12px;border-left:2px solid #cfdbe8}
details.tdev[open]>.titem{border-top-style:dashed}
details.tdev>summary::-webkit-details-marker{display:none}
.titem{display:flex;align-items:center;gap:12px;padding:8px 0 8px 10px;border-top:1px dashed var(--line-soft)}
.titem .tt{flex:1;min-width:0;font-size:14px}
.titem.carried{opacity:.6}
.seg3 button{min-width:0;padding:7px 10px;font-size:13px}
.seg3 button.on.ok{background:var(--green);color:#fff}.seg3 button.on.nok{background:var(--rust);color:#fff}.seg3 button.on.nv{background:var(--ink-3);color:#fff}
.seg button.on.OK{background:var(--green);color:#fff}
.drow{padding:7px 0;border-top:1px solid var(--line-soft);font-size:13.5px}.drow:first-of-type{border-top:0}
.tnav{margin:6px 0 20px;align-items:center}
.rlist{border:1px solid var(--line);border-radius:10px;padding:4px 10px;max-height:240px;overflow:auto}
.rpick{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line-soft)}.rpick:first-child{border-top:0}
.ibx .photos img{width:120px;height:120px}
@media (max-width:1100px){.tgrid{grid-template-columns:1fr}}
@media (max-width:700px){.titem{flex-direction:column;align-items:stretch}.seg3{width:100%}.seg3 button{flex:1}}
.risl>summary{list-style:none;cursor:pointer}.risl>summary::-webkit-details-marker{display:none}.risl{border-top:1px solid var(--line-soft)}.risl:first-child{border-top:0}
.smap svg image{image-rendering:auto}
.dpin circle{stroke:#fff;stroke-width:3}.dpin text{fill:#fff;font:700 13px var(--sans);text-anchor:middle;dominant-baseline:central}
.dnum{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:var(--navy);color:#fff;font:700 12px var(--sans);padding:0 5px}

/* ---------- rapor ---------- */
.repdoc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px}
.rhead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:3px solid transparent;border-image:var(--brand-rule) 1;padding-bottom:12px;margin-bottom:14px}
.rkind{font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.rhead h1{margin:4px 0}
.rlogos{display:flex;gap:16px;align-items:center}.rlogos img{height:26px;width:auto}
.rsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 14px}
.rsum>div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.rsum b{display:block;font:400 24px var(--serif)}.rsum span{font-size:12px;color:var(--ink-2)}
.rtab{border:1px solid var(--line)}.rtab td{vertical-align:top}.rtab td p{margin:4px 0}
.rtab figure{margin:0 0 6px}.rtab img{width:100%;max-height:220px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.rtab figcaption{font:10.5px var(--mono);color:var(--ink-3)}
.revs{font-size:12px;color:var(--ink-2);border-left:3px solid var(--line);padding-left:8px;margin-top:6px}
.robs{margin:4px 0 0;padding-left:18px}.robs li{margin:3px 0}
.rfoot{font:11px var(--mono);margin-top:16px}
@media print{@page{size:A4 landscape;margin:10mm}.toast,.lb{display:none!important}.repdoc{border:0;padding:0}.rtab tr{break-inside:avoid}.rtab img{max-height:170px}}

/* tasarım bütünlüğü (02.10.2026) */
h1 .htag{font-size:inherit;letter-spacing:-.01em}
.vbar{padding:0 34px;margin:14px 0 -14px;min-height:0;display:flex;justify-content:flex-start}.vbar:empty{display:none}
.vchip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--green);background:rgba(47,143,78,.08);border-radius:999px;padding:0 4px 0 12px;font-size:12.5px;max-width:320px}
.vchip a{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:7px 0}
.vbar{gap:8px;flex-wrap:wrap}.vchip.ret{border-color:var(--rust);background:var(--rust-soft);color:var(--rust);padding:7px 14px;font-weight:600;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note.ret{background:var(--rust-soft);color:var(--ink)}.note.ret b{color:var(--rust)}
.vchip button{border:0;background:none;font-size:18px;line-height:1;padding:4px 8px;cursor:pointer;color:var(--ink-3)}
details.imp{border-top:1px solid var(--line-soft);padding:10px 0}details.imp:first-of-type{border-top:0}
details.imp>summary{cursor:pointer;font-weight:600;padding:4px 0}
details.card>summary{cursor:pointer}
table.kv{width:auto;margin:8px 0}table.kv th{text-align:left;font-weight:500;color:var(--ink-3);padding:3px 14px 3px 0;background:none}table.kv td{padding:3px 0}
.rpick input[type=checkbox]{width:22px;height:22px}
@media (max-width:640px){.vchip{max-width:170px}}
@media (max-width:900px){.vbar{padding:62px 14px 0;margin:0 0 -58px}}
@media print{.vbar{display:none!important}}
h1 .pill,h2 .pill,h3 .pill{font:600 12px var(--sans);vertical-align:middle;letter-spacing:0}
.seg.mini{display:inline-flex;vertical-align:middle;margin-left:6px}.seg.mini button{padding:3px 10px;font-size:12px;min-height:0}

.photos.mini{margin-top:6px;gap:6px}.photos.mini img{width:64px;height:64px;border-radius:6px}

.lb video{max-width:92vw;max-height:84vh;border-radius:8px;background:#000}
.mwrap{position:relative;display:inline-block}.mwrap.vid::after{content:'▶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none}
.titem.tda{align-items:flex-start}.titem.tda .tt{flex:1}
tr.off td{opacity:.45}
.vprog .box{background:var(--paper);border-radius:14px;padding:20px 22px;width:min(420px,92vw);margin-top:20vh}
.seg.vkind{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px}
.seg.vkind button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;text-align:left;min-height:58px}
.seg.vkind button b{font-weight:600}.seg.vkind button span{font-size:12px;opacity:.75}
.seg.vkind button+button{border-left:1px solid var(--line)}

.kpi.click{cursor:pointer;transition:border-color .15s,box-shadow .15s}.kpi.click:hover{border-color:var(--green);box-shadow:0 2px 10px rgba(19,138,115,.12)}
.kpi .kn{display:flex;flex-wrap:wrap;gap:5px}
.ksev{--c:var(--blue);cursor:pointer;display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--line);border-radius:999px;padding:1px 8px 1px 1px;font-size:12.5px;background:var(--card);transition:border-color .12s,background .12s,box-shadow .12s,transform .12s}
.ksev b{font-weight:600;color:var(--ink)}
.ksev.ks-k{--c:var(--rust)}.ksev.ks-y{--c:var(--amber)}.ksev.ks-o{--c:var(--blue)}
.ksev:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--card));box-shadow:0 2px 8px color-mix(in srgb,var(--c) 30%,transparent);transform:translateY(-1px)}
.ksev:hover b{color:var(--c)}
.ksev:active{transform:translateY(0)}
.kpi .kn .ksev .pill{font-size:11.5px;padding:1px 7px;line-height:1.5}

/* açılış ekranı (genel bakış) - gLodRa dashboard dili, .ov altında */
.ov{--paper:#fff;--shell:#f7f9fb;--card:#eef2f6;--line:#e4e9ef;--line-soft:#edf1f5;--ink:#0c1a28;--ink-2:#4a5b6b;--ink-3:#8595a4;--navy:#0d2438;--teal:#138a73;--green:#2f8f4e;--amber:#c47d2a;--rust:#c25d3a;--rust-soft:#f7e8e2;--g1:#3b7d57;--g2:#7fae8f;--g3:#bcd5c4;--g4:#e3ede6;--n1:#c9d1d9;--n2:#eef1f4;
--rule:linear-gradient(90deg,#c9d4de,#bcd5c4);
--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--mono:'SF Mono','JetBrains Mono',Menlo,Consolas,monospace}
.ov .wrap{max-width:1080px;margin:0 auto;padding:26px 34px 48px}
.ov .top{font:12px var(--mono);color:var(--ink-2);margin-bottom:14px}
.ov .demo{display:inline-block;font:10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--line);border-radius:6px;padding:2px 7px;margin-left:8px;vertical-align:2px}
.ov .eyebrow{font:10px/1.55 var(--mono);letter-spacing:1.2px;color:var(--ink-3);text-transform:uppercase}
.ov h1{font:700 30px/1.2 var(--serif);margin:0 0 4px;letter-spacing:-.01em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ov .badge{font:600 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.ov h2{font:700 16.5px/1.55 var(--serif);margin:0}
.ov .sub{color:var(--ink-2);margin:0;font-size:15px}
.ov .ovn{color:var(--ink-2);font-size:13px;margin:2px 0 0}
.ov .rule{display:none}
.ov .card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px 16px;margin-top:0}
.ov .card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--rule)}
.ov .hero{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:30px;align-items:center;padding:8px 0}
.ov .ringbox{position:relative;width:100%;max-width:300px;aspect-ratio:1;margin:0 auto}
.ov .ringbox svg{width:100%;height:100%;transform:rotate(-90deg)}
.ov .ringbox .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ov .big{font:700 58px/1 var(--serif);letter-spacing:-.02em}
.ov .big small{font-size:26px;margin-left:2px}
.ov .cap{font:10px/1.6 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3);margin-top:8px}
.ov .cap b{font:700 13px var(--serif);color:var(--ink);letter-spacing:0}
.ov .trk, .ov .arc{fill:none;stroke-linecap:round}
.ov .arc{transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1)}
.ov .seg{fill:none;transition:stroke-dasharray .7s cubic-bezier(.2,.8,.2,1)}
.ov .hero h2.lead{font-size:22px;line-height:1.3;margin:6px 0 6px}
.ov .legend{display:grid;gap:0;margin-top:16px;border-top:1px solid var(--line-soft)}
.ov .lg{display:flex;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.ov .dot{width:10px;height:10px;border-radius:3px;flex:none}
.ov .lg b{font:700 22px var(--serif);min-width:70px}
.ov .lg span{color:var(--ink-2);font-size:14px}
.ov .sysl{font-size:12px;color:var(--ink-3);margin-top:2px}
.ov .covtot{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 6px;padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.ov .covtot b{display:block;font:700 26px/1.3 var(--serif)}
.ov .covtot b small{font-size:15px;color:var(--ink-3);font-weight:400}
.ov .covtot span{font:12px var(--mono);color:var(--ink-3)}
.ov .covr{display:grid;grid-template-columns:118px 1fr 104px;gap:14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.ov .covr b{font:700 14px var(--serif)}
.ov .covr b small{display:block;font:500 10.5px var(--mono);color:var(--ink-3);letter-spacing:.04em;margin-top:2px}
.ov .covr .v{font:12px var(--mono);color:var(--ink-2);text-align:right}
.ov .sq{display:flex;flex-wrap:wrap;gap:3px}
.ov .sq i{width:11px;height:11px;border-radius:3px;display:block}
.ov .tri b{font-weight:600;color:var(--ink)}
@media (max-width:640px){.ov .covr{grid-template-columns:1fr auto}.ov .covr .sq{grid-column:1/-1;order:3}}
.ov .head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ov .segc,.tds .segc{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}
.ov .segc button,.tds .segc button{border:0;background:none;font:13px var(--sans);color:var(--ink-2);padding:5px 12px;border-radius:7px;cursor:pointer}
.ov .segc button.on,.tds .segc button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(12,26,40,.12)}
.ov .cta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 4px;padding:12px 14px;border-radius:10px;background:var(--g4);color:var(--ink);text-decoration:none;border:1px solid #d3e3d8}
.ov .cta b{font:700 15px var(--serif)}
.ov .cta em{font:normal 13px var(--sans);color:var(--g1);white-space:nowrap}
.ov .cta:hover{border-color:var(--g2)}
.ov .kpi .v small{font-size:13px;color:var(--ink-3);font-family:var(--sans);margin-left:4px}
.ov .pfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:11px var(--mono);color:var(--ink-3);border-top:1px solid var(--line-soft);padding-top:12px}
.ov .isl.sysrow{grid-template-columns:170px 1fr 104px}
.ov .isl.sysrow b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 13.5px var(--sans)}
@media (max-width:520px){.ov .isl.sysrow{grid-template-columns:120px 1fr 84px}}
.ov .calh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ov .calnav{display:flex;gap:6px}
.ov .calnav button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--paper);font-size:18px;line-height:1;color:var(--ink-2);cursor:pointer}
.ov .calnav button:hover{background:var(--card)}
.ov .calm{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 8px}
.ov .calm b{font:700 15px var(--serif)}
.ov .calm span{font:11px var(--mono);color:var(--ink-3)}
.ov .calg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.ov .calg .dw{font:10px var(--mono);letter-spacing:1px;color:var(--ink-3);text-transform:uppercase;padding-bottom:4px}
.ov .cd{aspect-ratio:1;max-height:40px;width:100%;border:0;background:none;border-radius:50%;font:13px var(--sans);color:var(--ink-3);padding:0;display:flex;align-items:center;justify-content:center;margin:0 auto}
.ov .cd.on{background:var(--c);color:#fff;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .12s}
.ov .cd.on:hover{transform:scale(1.08)}
.ov .cd.td{box-shadow:inset 0 0 0 1.5px var(--ink)}
.ov .cd.td:not(.on){color:var(--ink);font-weight:600}
.ov .cd.sel{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--green)}
.ov .sbar{display:flex;gap:3px;height:26px;margin:20px 0 14px}
.ov .sbar i{display:block;height:100%;border-radius:6px;min-width:6px;transform-origin:left;animation:ovgrow .9s cubic-bezier(.2,.8,.2,1) both}
.ov .sbar i:first-child{border-radius:8px 6px 6px 8px}
.ov .sbar i:last-child{border-radius:6px 8px 8px 6px}
@keyframes ovgrow{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
.ov .slist{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 22px}
.ov .srow span{white-space:nowrap}
.ov .srow{display:grid;grid-template-columns:12px 1fr auto 34px;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:14px;color:var(--ink-2)}
.ov .srow i{width:12px;height:12px;border-radius:4px}
.ov .srow b{font:700 15px var(--serif);color:var(--ink)}
.ov .srow em{font:normal 12px var(--mono);color:var(--ink-3);text-align:right}
.ov .stack{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:18px 0 10px;background:var(--card)}
.ov .stack i{display:block;height:100%}
.ov .keys{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink-2)}
.ov .keys em{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.ov .keys em::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--k)}
.ov .grid{display:grid;gap:14px}
.ov .g4{grid-template-columns:repeat(4,1fr)}
.ov .g3{grid-template-columns:repeat(3,1fr)}
.ov .g2{grid-template-columns:1.35fr 1fr}
.ov .sys{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
.ov .sys svg{width:52px;height:52px;flex:none;transform:rotate(-90deg)}
.ov .sys .t{font:10px/1.5 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-3)}
.ov .sys .p{font:700 22px/1.25 var(--serif)}
.ov .sys .n{font:12px var(--sans);color:var(--ink-2)}
.ov .sec{margin:34px 0 12px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.ov .sec h2{font-size:20px}
.ov .isl{display:grid;grid-template-columns:56px 1fr 110px;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line-soft)}
.ov .isl:first-child{border-top:0}
.ov .isl b{font:700 15px var(--serif)}
.ov .bar{height:8px;border-radius:4px;background:var(--card);overflow:hidden;display:flex}
.ov .bar i{display:block;height:100%}
.ov .isl .v{font:12px var(--mono);text-align:right;color:var(--ink-2)}
.ov .kpi{padding:14px 16px;border-radius:10px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ov .kpi .l{font:10px/1.55 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}
.ov .kpi .v{font:26px/1.55 var(--serif)}
.ov .kpi .d{font-size:12px;color:var(--ink-2)}
.ov .up{color:var(--green)}
.ov .dn{color:var(--rust)}
.ov .chart svg{width:100%;height:auto;display:block}
.ov .ax{font:10px var(--mono);fill:var(--ink-3)}
.ov .vrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);font-size:14px}
.ov .vrow:first-child{border-top:0}
.ov .vrow b{font:700 14px var(--serif)}
.ov .pill{font:12px var(--sans);padding:1px 8px;border-radius:6px;white-space:nowrap}
.ov .ok{background:var(--g4);color:var(--g1)}
.ov .in{background:var(--n2);color:var(--ink-2)}
.ov .foot{font:11px var(--mono);color:var(--ink-3);border-top:1px solid var(--line-soft);margin-top:12px;padding-top:10px}
.ov .muted{color:var(--ink-3)}
@media (max-width:900px){.ov .hero, .ov .g2{grid-template-columns:1fr}.ov .g4{grid-template-columns:repeat(2,1fr)}.ov .wrap{padding:22px 16px 40px}}
@media (max-width:520px){.ov .isl{grid-template-columns:44px 1fr 92px}.ov h1{font-size:26px}.ov .big{font-size:50px}}
.ov a.sys,.ov a.kpi,.ov a.vrow{color:inherit;text-decoration:none}.ov a.sys:hover,.ov a.kpi:hover{border-color:var(--g2)}
.ov .card{margin:0;box-shadow:none}
.ov h1{font-size:30px}
.ov .covr{grid-template-columns:150px 1fr 104px}

/* ---------- Disiplin modülleri: bina kabuğu, akustik, aydınlatma (.dsp kökü) ---------- */.dsp .dsel{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}
.dsp .dsel button{border:0;background:none;font:13px var(--sans);color:var(--ink-2);padding:5px 12px;border-radius:7px;cursor:pointer;min-height:0;min-width:0}
.dsp .dsel button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(12,26,40,.12)}
.dsp .dsel button small{font:11px var(--mono);color:var(--ink-3);margin-left:4px}
.dsp .sels{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.dsp .pipe{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(6,minmax(70px,1fr));gap:0;font-size:13px}
.dsp .pipe>div{padding:9px 8px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center}
.dsp .pipe .ph{font:10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
.dsp .pipe .nm b{font:700 14px var(--serif);margin-right:8px;white-space:nowrap;min-width:46px}.dsp .pipe .nm span{color:var(--ink-2)}
.dsp .st{display:inline-flex;align-items:center;gap:6px;font:12px var(--mono);color:var(--ink-2);white-space:nowrap}
.dsp .st i{width:10px;height:10px;border-radius:3px;flex:none;background:var(--n2);border:1px solid var(--line)}
.dsp .st.done i{background:#3b7d57;border-color:#3b7d57}.dsp .st.part i{background:#bcd5c4;border-color:#7fae8f}.dsp .st.fail i{background:#c9a093;border-color:#c9a093}.dsp .st.na{color:var(--ink-3)}
.dsp .mbar{flex:1;display:flex;flex-direction:column;gap:3px}.dsp .mbar .bar{height:6px}
.dsp .ochk{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.dsp .ochk i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--n1)}.dsp .ochk i.d{background:#3b7d57;border-color:#3b7d57}.dsp .ochk i.p{background:#bcd5c4;border-color:#7fae8f}
.dsp .ochk em{font:normal 12px var(--mono);color:var(--ink-3)}
.dsp table.inv{width:100%;border-collapse:collapse;font-size:13.5px}
.dsp table.inv th{font:10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);font-weight:400}
.dsp table.inv td{padding:9px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.dsp table.inv td.n{font:700 14px var(--serif);text-align:right;white-space:nowrap}.dsp table.inv th.n{text-align:right}
.dsp table.inv .code{font:600 13px var(--mono)}
.dsp .grp{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0 6px;flex-wrap:wrap}
.dsp .grp b{font:700 16px var(--serif)}.dsp .grp span{font:12px var(--mono);color:var(--ink-3)}
.dsp .emark rect{stroke:#fff;stroke-width:3}
.dsp .emark text{font:700 22px var(--sans);fill:#fff;text-anchor:middle;dominant-baseline:central}
.dsp .klg{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-top:8px}
.dsp .klg span{display:inline-flex;align-items:center;gap:6px}.dsp .klg i{display:inline-block;width:12px;height:12px}
.dsp .enum{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:5px;color:#fff;font:700 12px var(--sans);margin-right:6px}
.dsp .crit{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.dsp .crit input{width:110px}
.dsp .sug{font:12px var(--mono);padding:3px 8px;border-radius:6px}
.dsp .sug.ok{background:#e3ede6;color:#3b7d57}.dsp .sug.bad{background:#f3e7e2;color:#9a5a45}
.dsp .wch{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.dsp .recbox{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#f6efec;border:1px solid #ead8d0;margin-top:4px}
.dsp .recbox b{font:700 16px var(--serif)}
.dsp .files{display:flex;gap:8px;flex-wrap:wrap}
.dsp .file{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;background:var(--paper)}
.dsp .file b{font:600 11px var(--mono);color:var(--ink-3)}
.dsp .hist{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;align-items:center}
.dsp .sys .n{white-space:nowrap}.dsp .hist .d{font:12px var(--mono);color:var(--ink-3)}
@media (max-width:820px){.dsp .pipe{grid-template-columns:150px repeat(6,74px);overflow-x:auto}}
/* sol menü: açılır kapanır disiplin grupları (app.glodra.com/dashboard düzeni) */
.sgrp>summary{list-style:none;cursor:pointer;padding:6px 8px 6px 0}
.sgrp>summary::-webkit-details-marker{display:none}
.sgrp .tri{width:24px;height:24px;flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-2);border-radius:6px;transition:transform .15s}
.sgrp>summary:hover .tri{background:var(--line-soft)}
.sgrp[open]>summary .tri{transform:rotate(90deg)}
.sgrp .glink{display:flex;align-items:center;flex:1;min-width:0;color:inherit;text-decoration:none}
.sgrp .glink:hover .nm{color:var(--green)}
.ssub{display:flex;align-items:center;gap:0;width:100%;padding:4px 8px 4px 38px;border-radius:6px;color:var(--ink);text-decoration:none}
.ssub:hover{background:var(--card)}
.ssub .dot{width:14px;flex:none;font:10px Arial,Helvetica,sans-serif;color:var(--green)}
.ssub .snm{font:13.8px var(--serif);flex:1;color:var(--ink)}
.ssub.on .snm{font-weight:600}
/* başlık satırı: açıklama uzun olsa da seçiciler sağda sabit kalır (sayfa geçişlerinde kayma olmaz) */
@media (min-width:900px){.ov .head{flex-wrap:nowrap;align-items:flex-start}.ov .head>div:first-child{flex:1;min-width:0}.ov .head>div:last-child{flex:none}}
/* sayfa başlığı ve seçiciler: her sayfada aynı yer ve aynı genişlik (başlık solda, seçiciler sağ üstte) */
.dsp .head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
@media (min-width:900px){.dsp .head{flex-wrap:nowrap}.dsp .head>div:first-child{flex:1;min-width:0}.dsp .head>div:last-child{flex:none}}
.dsel,.isel{display:flex!important;width:420px;max-width:100%;box-sizing:border-box}
.dsel button,.isel button{flex:1 1 0;min-width:0;padding:5px 0!important;text-align:center;white-space:nowrap}
.isel button:first-child{flex:0 0 112px}
.seg.dkind{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:10px}.seg.dkind button+button{border-left:1px solid var(--line)}

body.vitrin .vbar{display:none}
.ov a.srow.lnk{text-decoration:none;cursor:pointer;border-radius:6px;transition:background .15s}
.ov a.srow.lnk:hover{background:var(--shell)}
.ov a.srow.lnk span{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.tds .head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}
.tdtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.tdtabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:13.5px;text-decoration:none}
.tdtabs a b{font:700 13px var(--mono);color:var(--ink)}
.tdtabs a.on{border-color:var(--navy);background:var(--navy);color:#fff}.tdtabs a.on b{color:#fff}
.tdtabs .dt{width:10px;height:10px;border-radius:3px;background:#c9d1d9}
.tdtabs .dt.onay{background:#3b7d57}.tdtabs .dt.sartli{background:#7fae8f}.tdtabs .dt.red{background:#c9a093}.tdtabs .dt.karar{background:#bcd5c4}
.tds td.why{font-size:13px;max-width:420px;white-space:normal}
.tdsm{max-width:760px}.tdsm .card{box-shadow:none}
.tds td.loc{font-size:13px;min-width:170px}.tds td.loc b{font-weight:600}.tds td.loc div{margin-top:2px}
.tdsm .tdsloc{margin:8px 0 0;font-size:13.5px;background:var(--info-bg);border-radius:8px;padding:7px 10px}

/* bütünlük taraması (v63): geniş tablolar kart içinde kayar, telefonda seçiciler sığar, durum listesi kart olur */
.dsp .card:has(> .pipe),.dsp .card:has(> table.inv),.card:has(> table){overflow-x:auto;-webkit-overflow-scrolling:touch}
.dsp .pipe{min-width:820px}.dsp table.inv{min-width:680px}
.row:has(> h1){margin-bottom:10px}
@media (max-width:640px){
 .ov .head>div,.dsp .head>div,.dsp .sels,.tds .head>div{min-width:0;max-width:100%;width:100%;align-items:stretch!important}
 .dsel,.isel{width:100%!important}
 .dsel button,.isel button{flex:1 1 0!important;min-width:0;padding:6px 2px!important;font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .isel button:first-child{flex:0 0 auto!important;padding:6px 8px!important}
 .tds .card.tw{border:0;background:none;box-shadow:none;padding:0}
 .tds table,.tds tbody{display:block}
 .tds tr:first-child{display:none}
 .tds tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
 .tds td{display:block;padding:0!important;border:0!important;max-width:none!important}
 .tds td:nth-child(1){font-weight:700}
 .tds td:nth-child(2),.tds td:nth-child(3),.tds td.why{grid-column:1/-1}
 .tds td:nth-child(3){color:var(--ink-2);font-size:13px}
 .tds td:nth-child(4){grid-row:1;grid-column:2;text-align:right;font-size:12px}
 .tds td:nth-child(5){display:none}
}
.dsp .pipe .nm{flex-direction:column;align-items:flex-start!important;justify-content:center;gap:1px}.dsp .pipe .nm span{font-size:12px}

.oarc{margin-top:22px}
.orow{display:flex;align-items:center;gap:10px;padding:11px 4px;border-top:1px solid var(--line-soft);cursor:pointer;font-size:14px;border-radius:6px}
.orow:hover{background:var(--shell)}.orow .otx{flex:1;min-width:0}.orow .ogo{color:var(--teal);font-size:18px}
.oarc.sec{margin:30px 0 12px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.oarc .eyebrow{font:10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.oarc h2{margin:0}

/* yol satırı: katmanlı çipler */
.crumbs.cz{display:flex;flex-wrap:wrap;align-items:center;gap:6px 2px}
.crumbs.cz .cseg{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;line-height:1.25;color:#3b4a5a;text-decoration:none;border:1px solid transparent}
.crumbs.cz .cseg.l1{background:#eef2f6;border-color:#e1e7ee}
.crumbs.cz .cseg.l2{background:#e9f1ec;border-color:#d6e5db}
.crumbs.cz .cseg.l3{background:#dcebe1;border-color:#c6dccd}
.crumbs.cz .cseg.l4{background:#cfe3d5;border-color:#b6d1bf}
.crumbs.cz a.cseg:hover{border-color:#7fae8f;color:#2f6b48}
.crumbs.cz .cseg.cur{background:#3b7d57;border-color:#3b7d57;color:#fff;font-weight:600}
.crumbs.cz .cseg.cur .mono{color:#fff}
.crumbs.cz .csep{width:16px;height:16px;flex:none;position:relative}
.crumbs.cz .csep::before{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-top:2px solid #7fae8f;border-right:2px solid #7fae8f;transform:rotate(45deg)}
@media print{.crumbs.cz .cseg{background:none!important;border-color:#ccc!important;color:#000!important}}
/* rapor PDF görüntüleyici */
.rpdfv{display:flex;flex-direction:column;gap:14px;margin-top:8px}.rpdfv .rpg{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(12,26,40,.06)}.rpdfv .rpg img{display:block;width:100%;height:auto;min-height:120px}.rpdfv .rpg figcaption{font:12px var(--mono);color:var(--ink-3);text-align:center;padding:6px;border-top:1px solid var(--line-soft)}
.rpdfl{margin-left:6px;font-family:var(--sans);text-decoration:none}
@media print{.rpdfv{display:none}}
/* sayfa yana kaymasın: kabuk ve ana alan yatay kaydırılamaz (overflow:hidden elemanlar odakla kayabiliyor, clip kaydırmayı tamamen kapatır) */
html,body{overflow-x:hidden;overflow-x:clip}
.gshell{overflow:hidden;overflow:clip}
.gmain{overflow-x:hidden;overflow-x:clip}
.content{overflow-wrap:break-word}

/* rapor: her bulgu kendi kod şeridiyle başlar (saha ekibi MX numarasıyla çalışır) */
.rtab.rmx{width:100%;border-collapse:collapse;margin:0 0 18px;break-inside:avoid}
.rmxb td{color:#fff;padding:10px 14px!important;border:0}
.rmxb.k td{background:#b3261e}.rmxb.y td{background:#c25d3a}.rmxb.o td{background:#5b6b7a}.rmxb.ok td{background:#2f8f4e}
.rmxc{font:900 30px/1 var(--sans);letter-spacing:.5px;vertical-align:middle;margin-right:16px}
.rmxm{font-weight:700;font-size:13.5px;vertical-align:middle;letter-spacing:.3px}
.rmxb i{font-style:normal;font-weight:800;font-size:12px;background:#fff;color:#1d1d1d;padding:3px 8px;border-radius:3px;margin-left:8px;vertical-align:middle}
.rmxb.k i{color:#b3261e}.rmxb.y i{color:#a5472a}.rmxb.ok i{color:#2f6b49}
.rmxb i.lt{background:rgba(255,255,255,.2);color:#fff}
.rtab.rmx figure{position:relative}
.rmxo{position:absolute;left:-4px;top:-4px;z-index:1;color:#fff;font:800 13px var(--sans);padding:2px 7px;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.rmxo.k{background:#b3261e}.rmxo.y{background:#c25d3a}.rmxo.o{background:#5b6b7a}.rmxo.ok{background:#2f8f4e}
@media (max-width:700px){.rmxc{font-size:24px;display:block;margin-bottom:6px}.rmxb i{margin:4px 6px 0 0;display:inline-block}}
@media print{.rmxb td,.rmxo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* tasarım düzeltmeleri (v77): dar sütunlarda taşma, gizli kaydırma, mobil rapor başlığı */
/* kaydırılabilir alanlarda kaydırma çubuğu hep görünsün (Mac'te gizli çubuk içeriği kesik gösteriyordu) */
.tw::-webkit-scrollbar,.card::-webkit-scrollbar,.pltl::-webkit-scrollbar,.ppl::-webkit-scrollbar{height:9px;width:9px}
.tw::-webkit-scrollbar-thumb,.card::-webkit-scrollbar-thumb,.pltl::-webkit-scrollbar-thumb,.ppl::-webkit-scrollbar-thumb{background:#c9d4de;border-radius:6px}
.tw::-webkit-scrollbar-track,.card::-webkit-scrollbar-track,.pltl::-webkit-scrollbar-track,.ppl::-webkit-scrollbar-track{background:transparent}
/* yönetim · kullanıcılar: sabit sütunlar, alanlar hücreyi doldurur */
.uadm table{width:100%;table-layout:fixed;min-width:900px}
.uadm th:nth-child(1){width:14%}.uadm th:nth-child(2){width:14%}.uadm th:nth-child(3){width:13%}.uadm th:nth-child(4){width:13%}
.uadm th:nth-child(5){width:15%}.uadm th:nth-child(6){width:10%}.uadm th:nth-child(7){width:8%}.uadm th:nth-child(8){width:13%}
.uadm th,.ptab th{overflow-wrap:normal;word-break:normal;letter-spacing:.5px}
.uadm td:nth-child(1){font-size:12.5px;word-break:break-all}
.uadm input[data-k=name],.uadm select{width:100%;max-width:none;min-width:0}
.uadm td:nth-child(5){min-width:0}
.uadm td:last-child .row{flex-direction:column;align-items:stretch;gap:4px}
.uadm td:last-child .btn{padding:6px 8px;font-size:12.5px;white-space:nowrap}
/* yönetim · taraflar */
table.ptab{width:100%;table-layout:fixed;min-width:900px}
.ptab th:nth-child(1){width:9%}.ptab th:nth-child(2){width:17%}.ptab th:nth-child(3){width:16%}.ptab th:nth-child(4){width:14%}
.ptab th:nth-child(5){width:12%}.ptab th:nth-child(6){width:15%}.ptab th:nth-child(7){width:7%}.ptab th:nth-child(8){width:10%}
.ptab input:not([type=checkbox]){width:100%!important;min-width:0}
.ptab td{vertical-align:middle}.ptab .btn{padding:6px 8px;font-size:12.5px}
/* disiplin süreç hattı: hücre içeriği taşmaz, alt satıra geçer */
.dsp .pipe>div{min-width:0;flex-wrap:wrap;column-gap:6px;row-gap:2px}
@media (max-width:820px){.dsp .pipe{grid-template-columns:150px repeat(6,minmax(100px,1fr));min-width:760px}}
/* yan yana iki küçük envanter tablosu sığar */
.dsp .g2 table.inv{min-width:0}
.dsp .g2 table.inv td.code{font-size:12px;word-break:break-all}
/* rapor başlığı dar ekranda logoların altına iner */
@media (max-width:700px){.rhead{flex-direction:column-reverse;align-items:stretch}.rlogos{flex-wrap:wrap;gap:12px;justify-content:space-between}.rlogos img{height:20px;max-width:30%}}
/* TDA test şablonları tablosu */
table.stab{width:100%;table-layout:fixed;min-width:860px}
.stab th:nth-child(1){width:7%}.stab th:nth-child(2){width:33%}.stab th:nth-child(3){width:23%}.stab th:nth-child(4){width:9%}.stab th:nth-child(5){width:15%}.stab th:nth-child(6){width:13%}
.stab textarea,.stab input:not(.sq),.stab select{width:100%!important;min-width:0!important}
.stab td:last-child{white-space:normal!important}.stab td:last-child .btn{display:block;width:100%;margin:0 0 4px;padding:6px 8px;font-size:12.5px}

/* TDA adım satırı (v90): seçenekler arası ayraç, ölçüm kutusu ve seçim aynı yükseklikte */
.titem.tda{align-items:center;padding:12px 0 12px 10px}
.titem.tda .tt{font-size:15px}
.tctl{display:flex;gap:6px;align-items:stretch;flex-shrink:0}
.tctl .ms{width:150px;min-height:40px}
@media (max-width:700px){.tctl{width:100%}.tctl .ms{width:110px}.tctl .seg3{flex:1}}

/* TDA takvimi (v93): planlı faaliyet günü çerçeveli, gerçekleşen TDA dolu */
.ov .cd.pl{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green);font-weight:600;cursor:pointer}
.ov .cd.pl.td{box-shadow:inset 0 0 0 2.5px var(--green)}
.ov .keys em.plk::before{background:none!important;box-shadow:inset 0 0 0 1.5px var(--green)}
.ov .cd.pa{cursor:pointer;color:var(--ink-2)}
