/* Kuyu Denetim — saha uygulaması
   Güneş altında okunabilirlik için yüksek kontrast, büyük dokunma alanları. */
:root{
  --bg:#EEF2F3;
  --surface:#FFFFFF;
  --ink:#13242C;
  --ink-2:#4A5D66;
  --ink-3:#7D8F97;
  --line:#D5DEE1;
  --primary:#0B5E8E;
  --primary-ink:#FFFFFF;
  --primary-soft:#E2EEF5;
  --flow:#17804F;      /* su akıyor */
  --flow-soft:#DDF2E6;
  --weak:#A86A06;      /* zayıf / dikkat */
  --weak-soft:#FBEFD6;
  --dry:#B7372A;       /* akmıyor / sorun */
  --dry-soft:#F8E1DD;
  --chk:#3E7C8F;       /* denetlendi, sonuç girilmemiş (Excel'den) */
  --chk-soft:#DFEDF1;
  --pending:#6A7A82;
  --radius-s:6px;
  --radius-m:10px;
  --shadow:0 1px 2px rgba(19,36,44,.08),0 4px 14px rgba(19,36,44,.06);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;
  --nav-h:64px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font:16px/1.45 var(--font);-webkit-text-size-adjust:100%;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--primary)}
:focus-visible{outline:3px solid #F2B705;outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- shell ---------- */
.app{display:flex;min-height:100vh}
.side{display:none}
.topbar{position:sticky;top:0;z-index:20;background:var(--ink);color:#fff;display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:56px}
.topbar .back{background:none;border:0;color:#fff;font-size:26px;line-height:1;padding:4px 8px 4px 0;cursor:pointer}
.topbar h1{font-size:18px;font-weight:650;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .net{font-size:12px;padding:3px 8px;border-radius:20px;background:rgba(255,255,255,.14)}
.topbar .net.off{background:#F2B705;color:var(--ink)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.view{padding:14px 14px calc(var(--nav-h) + 24px);max-width:1100px;width:100%;margin:0 auto}
.tabs{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:var(--surface);border-top:1px solid var(--line);display:flex;z-index:30;padding-bottom:env(safe-area-inset-bottom)}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--ink-2);font-size:12px;font-weight:600}
.tabs a svg{width:24px;height:24px}
.tabs a.on{color:var(--primary)}
@media (min-width:900px){
  .side{display:flex;flex-direction:column;width:232px;background:var(--ink);color:#fff;position:sticky;top:0;height:100vh;padding:18px 12px;gap:4px;flex-shrink:0}
  .side .brand{font-weight:700;font-size:17px;padding:6px 10px 18px;line-height:1.25}
  .side .brand small{display:block;font-weight:400;color:#9DB3BD;font-size:12px;margin-top:4px}
  .side a{display:flex;gap:10px;align-items:center;color:#CFE0E7;text-decoration:none;padding:10px;border-radius:var(--radius-s);font-weight:600}
  .side a svg{width:20px;height:20px}
  .side a.on{background:rgba(255,255,255,.12);color:#fff}
  .side .foot{margin-top:auto;font-size:12px;color:#9DB3BD;padding:10px}
  .tabs{display:none}
  .view{padding:22px 28px 40px}
  .topbar{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line)}
  .topbar .back{color:var(--ink)}
  .topbar .net{background:var(--line)}
}

/* ---------- basics ---------- */
h2{font-size:20px;margin:6px 0 12px;font-weight:700;letter-spacing:-.01em}
h3{font-size:16px;margin:18px 0 8px;font-weight:700}
p{margin:0 0 10px}
.muted{color:var(--ink-2)}
.small{font-size:13px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grow{flex:1}
.stack>*+*{margin-top:12px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;box-shadow:var(--shadow)}
.panel+.panel{margin-top:14px}
.panel h3:first-child{margin-top:0}
.hint{font-size:13px;color:var(--ink-2)}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);font-weight:650;cursor:pointer;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{border-color:var(--ink-3)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}
.btn.primary:hover{background:#094D74}
.btn.danger{color:var(--dry);border-color:#E8C1BB}
.btn.block{width:100%}
.btn.big{min-height:56px;font-size:17px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn svg{width:20px;height:20px}
.btn.sm{min-height:36px;padding:0 12px;font-size:14px}

label.f{display:block;font-size:13px;font-weight:650;color:var(--ink-2);margin:0 0 5px}
input.i,select.i,textarea.i{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff}
textarea.i{min-height:90px;resize:vertical}
.fgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.fgrid.two{grid-template-columns:1fr 1fr}}

/* segmented choices — big for gloves/sun */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.seg button{min-height:52px;border:2px solid var(--line);background:#fff;border-radius:var(--radius-s);font-weight:650;cursor:pointer;padding:6px 4px;line-height:1.15}
.seg button.on{border-color:var(--ink);background:var(--ink);color:#fff}
.seg.water button[data-v="Evet"].on{background:var(--flow);border-color:var(--flow)}
.seg.water button[data-v="Zayıf"].on{background:var(--weak);border-color:var(--weak)}
.seg.water button[data-v="Hayır"].on{background:var(--dry);border-color:var(--dry)}
.seg.water button{min-height:64px;font-size:17px}

/* ---------- status mark: the water drop ---------- */
.drop{width:30px;height:30px;flex-shrink:0;display:inline-block}
.drop path{stroke-width:2}
.st-flow .drop path{fill:var(--flow);stroke:var(--flow)}
.st-weak .drop path{fill:var(--weak);stroke:var(--weak)}
.st-dry .drop path{fill:#fff;stroke:var(--dry)}
.st-dry .drop line{stroke:var(--dry);stroke-width:2.4}
.st-draft .drop path{fill:var(--primary-soft);stroke:var(--primary);stroke-dasharray:3 2}
.st-none .drop path{fill:#fff;stroke:#B9C6CB}
.st-chk .drop path{fill:var(--chk-soft);stroke:var(--chk)}

.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--line);color:var(--ink-2);white-space:nowrap}
.chip.flow{background:var(--flow-soft);color:var(--flow)}
.chip.weak{background:var(--weak-soft);color:var(--weak)}
.chip.dry{background:var(--dry-soft);color:var(--dry)}
.chip.draft{background:var(--primary-soft);color:var(--primary)}
.chip.chk{background:var(--chk-soft);color:var(--chk)}
.chip.ok{background:var(--flow-soft);color:var(--flow)}

/* ---------- well list ---------- */
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.filters #q{grid-column:1/-1}
.filters #fs{grid-column:1/-1}
@media (min-width:700px){.filters{grid-template-columns:2fr 1fr 1fr 1fr}.filters #q,.filters #fs{grid-column:auto}}
.counts{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.counts button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 12px;font-size:13.5px;font-weight:650;white-space:nowrap;cursor:pointer;color:var(--ink-2)}
.counts button b{color:var(--ink);margin-left:4px}
.counts button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.counts button.on b{color:#fff}
.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}
.wi{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.wi:last-child{border-bottom:0}
.wi:hover{background:#F7FAFB}
.wi .t{font-weight:700;line-height:1.25}
.wi .s{font-size:13px;color:var(--ink-2);line-height:1.3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wi .no{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-3);font-weight:650;text-align:right;min-width:52px}
.more{padding:12px;text-align:center}

.empty{text-align:center;padding:36px 18px}
.empty svg{width:64px;height:64px;opacity:.5}
.empty h3{margin:10px 0 6px}

/* ---------- well detail ---------- */
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:15px}
.kv dt{color:var(--ink-2);font-size:13px;font-weight:650;padding-top:2px}
.kv dd{margin:0;word-break:break-word}
.hist .h{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.hist .h:first-child{border-top:0}

/* ---------- inspection ---------- */
.step{display:flex;gap:10px;align-items:baseline;margin:22px 0 10px}
.step .n{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;transform:translateY(5px)}
.step.done .n{background:var(--flow)}
.step h3{margin:0}
.gpsbox{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.gpsbox{grid-template-columns:1fr 200px}}
.coord{font-variant-numeric:tabular-nums;font-size:15px}
.verdict{font-weight:750;font-size:18px}
.verdict.ok{color:var(--flow)}.verdict.near{color:var(--weak)}.verdict.far{color:var(--dry)}
.gpsdiag{width:100%;max-width:200px;aspect-ratio:1;background:#F7FAFB;border:1px solid var(--line);border-radius:var(--radius-m)}
.live{font-size:14px;color:var(--ink-2)}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (min-width:640px){.photos{grid-template-columns:repeat(5,1fr)}}
.ph{position:relative;aspect-ratio:1;border:2px dashed #B9C6CB;border-radius:var(--radius-s);background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:650;overflow:hidden;padding:0}
.ph svg{width:28px;height:28px}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.has{border-style:solid;border-color:var(--flow)}
.ph .x{position:absolute;top:4px;right:4px;background:rgba(19,36,44,.8);color:#fff;border:0;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:1;cursor:pointer;z-index:2}
.vid{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.vid video{width:220px;max-width:100%;border-radius:var(--radius-s);background:#000}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{display:flex;gap:8px;align-items:center;padding:5px 0;font-size:15px}
.checklist li::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid #B9C6CB;flex-shrink:0}
.checklist li.ok::before{background:var(--flow);border-color:var(--flow);box-shadow:inset 0 0 0 3px #fff}
.savebar{position:sticky;bottom:calc(var(--nav-h) + 8px);margin-top:18px;z-index:10}
@media (min-width:900px){.savebar{bottom:12px}}
.autosave{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:6px}

/* ---------- reports ---------- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px}
.stat .v{font-size:30px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.1}
.stat .l{font-size:13px;color:var(--ink-2);font-weight:650;margin-top:4px}
.stat.flow .v{color:var(--flow)}.stat.dry .v{color:var(--dry)}.stat.weak .v{color:var(--weak)}
.bar{display:flex;height:16px;border-radius:4px;overflow:hidden;background:var(--line)}
.bar span{display:block;height:100%}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-top:8px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{text-align:left;font-size:12.5px;color:var(--ink-2);font-weight:700;padding:8px;border-bottom:2px solid var(--line);white-space:nowrap}
table.t td{padding:8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.t td.n,table.t th.n{text-align:right}
.tablewrap{overflow-x:auto}

/* ---------- import ---------- */
.drop-zone{display:block;margin:12px 0;border:2px dashed #9FB3BB;border-radius:var(--radius-m);padding:26px;text-align:center;background:#fff;cursor:pointer}
.drop-zone.over{border-color:var(--primary);background:var(--primary-soft)}
.map{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:640px){.map{grid-template-columns:repeat(3,1fr)}}
.preview{font-size:13px}

/* ---------- toast / modal ---------- */
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px);transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--radius-s);z-index:100;font-weight:600;max-width:90vw;box-shadow:var(--shadow)}
.toast.err{background:var(--dry)}
.modal-bg{position:fixed;inset:0;background:rgba(19,36,44,.5);z-index:90;display:flex;align-items:flex-end;justify-content:center}
@media (min-width:640px){.modal-bg{align-items:center}}
.modal{background:#fff;border-radius:14px 14px 0 0;padding:20px;width:100%;max-width:520px;max-height:90vh;overflow:auto}
@media (min-width:640px){.modal{border-radius:14px}}
.modal h3{margin-top:0}
.modal .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.busy{position:fixed;inset:0;background:rgba(238,242,243,.85);z-index:120;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-weight:650}
.spin{width:38px;height:38px;border:4px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:sp 0.9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}
.warnbox{background:var(--weak-soft);border:1px solid #EBCB8B;color:#6B4503;border-radius:var(--radius-s);padding:10px 12px;font-size:14px}
.okbox{background:var(--flow-soft);border:1px solid #A7D8BC;color:#0F5534;border-radius:var(--radius-s);padding:10px 12px;font-size:14px}

/* klasör durumu (masaüstü kenar çubuğu) */
.folderbar{margin-top:auto;font-size:12px;color:#CFE0E7;padding:10px;display:flex;align-items:center;gap:7px;word-break:break-word}
.folderbar+.foot{margin-top:0}
.fdot{width:8px;height:8px;border-radius:50%;background:#4CC38A;flex-shrink:0}
.fdot.err{background:#F2B705}
.fbtn{background:#F2B705;color:var(--ink);border:0;border-radius:6px;padding:8px 10px;font-weight:700;font-size:12px;cursor:pointer;text-align:left}

/* ---------- harita ---------- */
.view.wide{max-width:none;padding:0 0 calc(var(--nav-h) + 10px)}
.mapwrap{display:flex;flex-direction:column}
.mapc{position:relative}
.maptool{display:flex;gap:10px;align-items:center;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto}
.maptool .legend{flex-wrap:nowrap;white-space:nowrap}
#map{height:58vh;min-height:320px;background:#C9DCE6;z-index:0}
.mapf{position:fixed;inset:0 0 0 0;z-index:60;background:var(--surface);overflow:auto;padding:14px;display:none}
.mapf.open{display:block}
.mapf-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.mapf-head b{flex:1;font-size:17px}
.mfg{border:0;border-top:1px solid var(--line);margin:0;padding:10px 0 6px}
.mfg legend{font-weight:750;font-size:14px;padding:0 6px 0 0;color:var(--ink)}
.mfg-acts{display:flex;gap:12px;margin:-2px 0 4px}
.lnk{background:none;border:0;color:var(--primary);font-weight:650;font-size:13px;padding:2px 0;cursor:pointer}
.ck{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14.5px;cursor:pointer}
.ck input{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0}
.ck i{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.ck span{flex:1}
.ck em{font-style:normal;color:var(--ink-3);font-size:12.5px;font-variant-numeric:tabular-nums}
.mapl{background:var(--bg)}
.mapl-head{padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line)}
.msum-n{font-size:15px}.msum-n b{font-size:22px}
.msum{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--ink-2);margin-top:4px}
.msum i,.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.mapl .list{border-radius:0;border-left:0;border-right:0}
.mwi{cursor:pointer}
.mwi.on{background:var(--primary-soft)}
.mwi .no{text-decoration:none}
.pop .btn.sm{min-height:32px;font-size:13px;padding:0 10px}
.pop .btn.primary{color:#fff}
.leaflet-container{font:inherit}
@media (min-width:900px){
  .view.wide{padding:0}
  .mapwrap{display:grid;grid-template-columns:250px 1fr 340px;height:calc(100vh - 57px)}
  .mapf{position:static;display:block;border-right:1px solid var(--line);z-index:auto}
  .mf-close,.mf-open{display:none}
  .mapc{display:flex;flex-direction:column;min-width:0}
  #map{flex:1;height:auto}
  .mapl{display:flex;flex-direction:column;border-left:1px solid var(--line);min-height:0}
  .mapl .list{overflow:auto;flex:1}
}

/* ---------- arşiv, takip, kontroller ---------- */
.filters.f5 #fs{grid-column:auto}
@media (min-width:700px){.filters.f5{grid-template-columns:2fr 1fr 1fr 1fr 1fr}}
.filters.f4{grid-template-columns:1fr 1fr}
@media (min-width:700px){.filters.f4{grid-template-columns:1fr 1fr 1.3fr auto}}
.ckbox{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2);padding:0 4px}
.ckbox input{width:20px;height:20px;accent-color:var(--primary)}
.banner{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;text-decoration:none;color:#6B4503;background:var(--weak-soft);border:1px solid #EBCB8B;border-radius:var(--radius-m);padding:12px 14px;margin-bottom:12px}
.banner.late{background:var(--dry-soft);border-color:#E9B4AC;color:#7A231A}
.banner span{flex:1}
.banner em{font-style:normal;font-weight:700;text-decoration:underline}
.chip.new{background:#E7E2F7;color:#4B3A8F}
.due-late{color:var(--dry);font-weight:700}
.due-soon{color:var(--weak);font-weight:700}
.wtabs{display:flex;gap:4px;margin:14px 0 0;border-bottom:2px solid var(--line);overflow-x:auto}
.wtabs button{background:none;border:0;padding:12px 14px;font-weight:700;color:var(--ink-2);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:15px}
.wtabs button.on{color:var(--primary);border-bottom-color:var(--primary)}
#wtab>.panel:first-child{margin-top:14px}
.meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:6px 0 4px;max-width:420px}
.meter span{display:block;height:100%;background:var(--flow)}
.fgrid.three{grid-template-columns:1fr 1fr}
@media (min-width:900px){.fgrid.three{grid-template-columns:1fr 1fr 1fr}}
.fgrid .span2{grid-column:span 2}
@media (max-width:640px){.fgrid.three{grid-template-columns:1fr}.fgrid .span2{grid-column:auto}}
h4.grp{font-size:13px;color:var(--ink-2);margin:16px 0 8px;font-weight:750;border-top:1px solid var(--line);padding-top:12px}
input.i.bad{border-color:var(--dry);background:var(--dry-soft);color:var(--dry);font-weight:700}
.flist{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fi{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:#FAFCFC;flex-wrap:wrap}
.ftag{font-size:10.5px;font-weight:800;background:var(--ink);color:#fff;border-radius:4px;padding:3px 6px;letter-spacing:.02em}
.fn{font-weight:650;word-break:break-word}
.iss{margin:6px 0 0;padding-left:18px}
.iss li{margin:3px 0}
.iss li.err{color:#7A231A}
.igwrap{max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px}
.ig+.ig{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.big-date{font-size:26px;font-weight:750;font-variant-numeric:tabular-nums}
.big-date.late{color:var(--dry)}
table.trk tr.b-overdue td:first-child{box-shadow:inset 4px 0 0 var(--dry)}
table.trk tr.b-d30 td:first-child{box-shadow:inset 4px 0 0 var(--weak)}
table.trk tr.b-d90 td:first-child{box-shadow:inset 4px 0 0 var(--primary)}
table.rec input.i.sm{min-height:36px;padding:6px 8px;font-size:14px}
table.rec tr.diff td{background:var(--weak-soft)}
pre.ocr{white-space:pre-wrap;font-size:12px;max-height:240px;overflow:auto;background:#F4F7F8;padding:8px;border-radius:6px}
.stat .v small{font-size:18px;color:var(--ink-3)}
.modal{max-width:640px}
.ocrimgs{display:flex;gap:8px;overflow-x:auto;margin:10px 0}
.ocrimgs img{height:260px;border:1px solid var(--line);border-radius:6px}
.modal:has(.ocrimgs){max-width:900px}
table.rec tr.unsure td{background:#FBF3F2}
table.rec tr.unsure input.i{border-color:#E9B4AC}
.fi>.grow{flex:1 1 220px}
details.fold{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
details.fold>summary{cursor:pointer;font-weight:700;color:var(--primary);padding:6px 0;list-style-position:inside}

/* ---------- projeler, finans, partnerler, fonlar ---------- */
.filters.f6{grid-template-columns:1fr 1fr}
.filters.f6 #pq{grid-column:1/-1}
@media (min-width:900px){.filters.f6{grid-template-columns:2fr 1fr .8fr 1.3fr 1.3fr 1fr}.filters.f6 #pq{grid-column:auto}}
table.plist select.i{min-height:36px;padding:4px 8px;font-size:13.5px;max-width:220px}
table.plist td{vertical-align:middle}
.money{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:14px 0;padding:12px;background:#F7FAFB;border-radius:var(--radius-s)}
@media (min-width:800px){.money{grid-template-columns:repeat(3,1fr)}}
.money span{display:block;font-size:12.5px;color:var(--ink-2);font-weight:650}
.money b{font-size:17px;font-variant-numeric:tabular-nums}
.pay2{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:900px){.pay2{grid-template-columns:1fr 1fr}}
.pay2 h4{margin:4px 0}
.two-col{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}
@media (min-width:900px){.two-col{grid-template-columns:1fr 1fr}.two-col .panel+.panel{margin-top:0}}
details.grpd{border-top:1px solid var(--line);padding:8px 0}
details.grpd summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
details.grpd summary::-webkit-details-marker{display:none}
details.grpd summary span{font-weight:750;font-variant-numeric:tabular-nums;color:var(--dry)}
.stat .v.mny{font-size:20px}
.docs{display:flex;flex-direction:column;gap:8px}
.doc{border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 10px}
.doc .fi{margin-top:6px}
.doc.ok{border-color:#A7D8BC;background:#F6FBF8}
.doc.miss{border-color:#E9B4AC;background:#FDF7F6}
.doc.exp{border-color:#EBCB8B;background:#FFFBF1}
.dmark{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;background:var(--line)}
.doc.ok .dmark{background:var(--flow);color:#fff}.doc.miss .dmark{background:var(--dry);color:#fff}.doc.exp .dmark{background:var(--weak);color:#fff}
.folderbar .grow{flex:1}
.fscan{background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:5px;padding:3px 8px;font-size:11.5px;font-weight:700;cursor:pointer}
.side .brand{font-size:15px}
table.fin td:first-child{min-width:260px}
table.fin td,table.fin th{white-space:nowrap}
table.fin td:first-child,table.fin td:nth-child(4),table.fin td:nth-child(5){white-space:normal}
table.plist td:first-child{min-width:240px}

/* ---------- çoklu seçim / toplu silme ---------- */
.selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.selbar:empty{display:none}
.selbar .selinfo{font-size:14px;color:var(--ink-2);margin-right:4px}
.selbar .selinfo b{color:var(--ink);font-size:16px}
.sck{width:20px;height:20px;accent-color:var(--primary);flex:0 0 auto;margin:0;cursor:pointer}
.wi.pickable{cursor:pointer;user-select:none}
.wi.picked,tr.picked td{background:#EAF3F9}
th.ckc,td.ckc{width:34px;padding-right:0}
.bulkdel{display:grid;gap:8px}
.bulkdel>div{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-m)}
.bulkdel b{grid-column:1}
.bulkdel span{grid-column:1;font-size:13px;color:var(--ink-2)}
.bulkdel .btn{grid-column:2;grid-row:1/3}
@media (min-width:900px){.bulkdel{grid-template-columns:1fr 1fr}}

/* ---------- denetim modülü ---------- */
.prog{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:8px;max-width:420px}
.prog i{display:block;height:100%;background:var(--flow, #1E8A5A);border-radius:3px}
.panel h3.ph{padding:14px 16px 6px;margin:0}
.wi.ip .no{display:flex;flex-direction:column;align-items:flex-end}
.pjpick{border:1px solid var(--line);border-radius:var(--radius-m);padding:12px;background:#FAFCFD}
.pjpick .fgrid{margin-top:4px}
.installbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;background:#E8F2F8;border:1px solid #B9D6E8;color:#0B3D5C;border-radius:var(--radius-m);padding:12px 14px;margin-bottom:12px}
.installbar.warn{background:var(--dry-soft);border-color:#E9B4AC;color:#7A231A}
.installbar b{font-weight:700}
.side .installbtn{margin:8px 12px 0;width:calc(100% - 24px);background:#1F3A47;color:#fff;border:1px solid #2E5163;border-radius:10px;padding:10px 12px;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.side .installbtn:hover{background:#28495A}
ol.steps{padding-left:20px;margin:10px 0;display:grid;gap:8px;font-size:15px;line-height:1.45}
.modal .warnbox{margin:8px 0}
table.match td{vertical-align:top}
table.match select{min-width:260px;max-width:520px}
h3.grph{margin:0;padding:14px 16px 10px;border-bottom:1px solid var(--line)}
/* Ülkeler tablosu telefonda: düğmeler alta insin */
@media (max-width:640px){
  .ctab tr{display:grid;grid-template-columns:1fr auto auto;gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--line)}
  .ctab th{display:none}
  .ctab td{border:0;padding:2px 4px}
  .ctab td:last-child{grid-column:1/-1;text-align:left!important;white-space:normal!important}
  .ctab td:last-child .btn{margin:4px 4px 0 0}
}

/* ---------- birim maliyet tabloları ---------- */
.wtabs a{padding:12px 14px;font-weight:700;color:var(--ink-2);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:15px}
.wtabs a.on{color:var(--primary);border-bottom-color:var(--primary)}
.wtabs + *{margin-top:14px}
table.ct td,table.ct th{white-space:nowrap}
table.ct td.small{white-space:normal;min-width:160px}
table.ct tr.tot td{border-top:2px solid var(--ink-3, #8A9AA1);background:#F7FAFB}
table.cmp td.lo{background:var(--flow-soft);color:var(--flow);font-weight:700}
table.cmp td.hi{background:var(--dry-soft);color:var(--dry);font-weight:700}
table.cmp td.b{font-weight:800}
.ctgrp + .ctgrp{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
table.ctedit input.i.sm{min-width:70px;padding:6px 8px}
table.ctedit input.n{width:90px;text-align:right}
table.ctedit td{padding:4px}
.estbox{background:var(--primary-soft);border:1px solid #BFD6E6;border-radius:var(--radius-m);padding:10px 12px;margin:10px 0}
.modal:has(table.ctedit){max-width:1100px}

/* ---------- marka, bayraklar, İHH katmanı ---------- */
.side .brand{padding:4px 4px 16px}
.brandcard{display:block;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.brandcard img{display:block;width:100%;height:auto;max-height:86px;object-fit:contain}
.side .brand small{text-align:center;letter-spacing:.06em;text-transform:uppercase;font-size:11px;margin-top:8px}
.tmark{height:30px;width:auto;background:#fff;border-radius:8px;padding:2px 4px}
@media (min-width:900px){.tmark{display:none}}
.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh;text-align:center}
.splash img{width:min(220px,50vw);height:auto}
.menulogo{text-align:center;padding:14px 0 18px}
.menulogo img{height:84px;width:auto}
img.flag{width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);vertical-align:-2px;margin-right:6px;flex:0 0 auto}
.ctry{white-space:nowrap;display:inline-flex;align-items:center}
.v.flags{display:flex;flex-wrap:wrap;gap:4px 12px;line-height:1.4}
h3.grph img.flag{width:24px;height:18px}
.chip.ihhc{background:#E4F1E8;color:#1F6B37;border:1px solid #C9B565}
.mfg.ihhg legend{display:flex;align-items:center;gap:6px}
.mfg.ihhg legend img{height:20px;width:auto}
.mfg.ihhg details{margin:4px 0}
.mfg.ihhg summary{cursor:pointer;color:var(--ink-2);font-weight:600;padding:4px 0}
.ihhm{background:none;border:0}
.ihhm img{width:26px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));background:rgba(255,255,255,.85);border-radius:50%;padding:1px}
.wm{background:none;border:0}
.wmi{display:flex;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--c);box-shadow:0 1px 3px rgba(0,0,0,.4);align-items:center;justify-content:center}
.wmi img{width:20px;height:22px;object-fit:contain}
.legend .lgb{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.legend .lgb img{height:18px;width:auto}
/* Saha denetimi */
.sahabar .row{gap:8px}
.sahabar .grow{min-width:220px}
.modal.wide{max-width:920px}
.sltree{margin-top:12px;max-height:44vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-s);padding:4px 10px}
.sltree details{border-bottom:1px solid var(--line);padding:6px 0}
.sltree details:last-child{border-bottom:0}
.sltree summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}
.sltree summary .lnk{margin-left:auto}
.sltree .ck{padding-left:22px}
table.pkgt td{vertical-align:top}
.nowrap{white-space:nowrap}
body.saha .brand small{color:#7FD3A7}
/* İçe aktarma: katlanır sütun eşleştirme */
details.colmap{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:6px;background:var(--soft,#F6F9FA)}
details.colmap>summary{color:var(--ink);font-weight:600}
details.colmap>summary b{color:var(--primary)}
details.colmap .map>div:not(.on) label{color:var(--ink-2);font-weight:500}
details.colmap .map>div.on select{border-color:var(--primary)}
.bulkup{margin-bottom:10px;gap:10px}
#pdocs.over,#ptdocs.over,#fdocs.over{outline:2px dashed var(--primary);outline-offset:4px;border-radius:10px}
/* Su analizi: okuma durumu, değerler, karşılaştırma */
.anq{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#EEF5F9;color:var(--ink-2);margin:8px 0}
.anq[hidden]{display:none}
.anq .spin{width:14px;height:14px;border:2px solid #BFD3DE;border-top-color:var(--primary);border-radius:50%;animation:anspin 1s linear infinite;flex:none}
@keyframes anspin{to{transform:rotate(360deg)}}
.anvals{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;margin-top:10px}
.anvals>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--line);padding:3px 0;font-size:14px}
.anvals>div span{color:var(--ink-2)}
.anvals>div.bad b{color:var(--dry)}
.angrp{border:1px solid var(--line);border-left:4px solid var(--weak);border-radius:10px;padding:10px 12px;margin-top:12px}
.angrp.err{border-left-color:var(--dry)}
.angrp .row{gap:8px;margin-bottom:6px;flex-wrap:wrap}
table.ant td,table.ant th{white-space:nowrap}
table.ant td:first-child{white-space:normal;min-width:160px}
td.aneq{background:#FFF1B8}
td.anbad{color:var(--dry);font-weight:700}
.ancmp{display:grid;gap:12px;overflow-x:auto}
.ancmp>div{min-width:0}
.anth{height:220px;background:#F3F6F7;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:6px}
.anth img{max-width:100%;max-height:100%;object-fit:contain}
/* İstatistik */
.stcats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.stcats table{margin-top:6px}
table.stt td,table.stt th{white-space:nowrap}
table.stt tr.tot td{border-top:2px solid var(--ink)}
/* Toplu arşiv yükleme */
table.bkt tr.bkno td{background:#FCEDEC}
table.bkt tr.bkun td{background:#FFF7DD}
table.bkt select.sm{min-width:150px}
.modal.wide:has(table.bkt),.modal.wide:has(.ancmp){max-width:1150px}
.vbusy .vbox{background:var(--surface,#fff);border-radius:14px;padding:22px 24px;max-width:360px;width:calc(100% - 40px);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.vbusy .meter{width:100%}
/* Dil seçimi (Saha Denetim) */
.langbtn{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.12);color:inherit;border:0;border-radius:999px;padding:5px 10px;font-weight:700;font-size:12px;cursor:pointer;margin-inline-end:8px}
.langbtn svg{width:16px;height:16px}
.langs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.langs .btn{justify-content:center}
/* Arapça: sağdan sola */
[dir=rtl] .back{transform:scaleX(-1)}
[dir=rtl] .kv dt,[dir=rtl] .kv dd{text-align:right}
[dir=rtl] td.n,[dir=rtl] th.n{text-align:left}
[dir=rtl] .coord,[dir=rtl] input[inputmode=decimal]{direction:ltr;unicode-bidi:embed}
