:root{
  --bg:#f4f6f8; --panel:#ffffff; --ink:#1c2530; --ink-soft:#5b6a7d; --line:#dde3ea;
  --accent:#1f6feb; --accent-soft:#e8f0fe; --ok:#1a7f5a; --warn:#b26b00; --danger:#b02a2a;
  --radius:8px; --shadow:0 1px 3px rgba(20,30,45,.08),0 6px 18px rgba(20,30,45,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  background:var(--bg); color:var(--ink); font-size:14px; line-height:1.45;
}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}

/* ---------- header ---------- */
header{
  background:var(--panel); border-bottom:1px solid var(--line);
  padding:10px 18px; display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  position:sticky; top:0; z-index:40;
}
.brand{display:flex;flex-direction:column;margin-right:8px}
.brand b{font-size:15px;letter-spacing:.2px}
.brand span{font-size:11.5px;color:var(--ink-soft)}
.tabs{display:flex;gap:4px;background:#eef1f5;padding:3px;border-radius:var(--radius)}
.tabs button{
  border:0;background:transparent;padding:7px 16px;border-radius:6px;cursor:pointer;
  font-weight:600;color:var(--ink-soft)
}
.tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.spacer{flex:1}
.btn{
  border:1px solid var(--line); background:var(--panel); padding:7px 12px;
  border-radius:6px; cursor:pointer; font-weight:500; white-space:nowrap;
}
.btn:hover{background:#f7f9fb}
.btn.on{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:#1a5fd0}
.btn.ghost-danger{color:var(--danger);border-color:#f0d3d3}
.btn.sm{padding:4px 9px;font-size:12.5px}
.total-chip{
  background:var(--accent-soft); color:#12437f; border:1px solid #cfe0fb;
  padding:6px 12px; border-radius:20px; font-weight:600; font-size:12.5px;
}

/* ---------- layout ---------- */
.wrap{display:flex; align-items:flex-start; gap:16px; padding:16px; max-width:1900px; margin:0 auto}
aside{
  width:290px; flex:0 0 290px; background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); position:sticky; top:74px;
  max-height:calc(100vh - 92px); display:flex; flex-direction:column;
}
aside h2{margin:0;padding:12px 14px;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.roomlist{overflow:auto;flex:1}
.roomrow{
  display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid #f0f3f6;
  cursor:pointer
}
.roomrow:hover{background:#f7f9fb}
.dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.roomrow .nm{flex:1;min-width:0}
.roomrow .nm b{display:block;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roomrow .nm span{font-size:11.5px;color:var(--ink-soft)}
.cnt{background:#eef1f5;border-radius:12px;padding:2px 9px;font-size:12px;font-weight:600;color:var(--ink-soft)}
.cnt.has{background:var(--accent-soft);color:#12437f}
.sidefoot{padding:10px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-soft)}

main{flex:1;min-width:0}
.toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:8px 12px;margin-bottom:12px;box-shadow:var(--shadow)
}
.hint{font-size:12.5px;color:var(--ink-soft)}
.hint.active{color:var(--accent);font-weight:600}

.stage{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow); overflow:auto; padding:14px; max-height:calc(100vh - 150px);
}
.canvas{position:relative;margin:0 auto;user-select:none}
.canvas img{display:block;width:100%;height:auto;pointer-events:none}
.canvas.draw{cursor:crosshair}

.hot{
  position:absolute; border:2px solid #8a97a6; background:rgba(140,150,165,.13);
  border-radius:4px; cursor:pointer; overflow:hidden; transition:background .12s;
}
.hot:hover{background:rgba(31,111,235,.18); border-color:var(--accent); z-index:5}
.hot .tag{
  position:absolute; left:3px; top:3px; right:3px;
  font-size:11px; font-weight:600; line-height:1.25; color:#22303f;
  background:rgba(255,255,255,.86); border-radius:3px; padding:2px 4px;
  pointer-events:none; text-shadow:0 1px 0 #fff;
}
.hot .tag em{display:block;font-style:normal;font-weight:500;font-size:10px;color:#55637a}
.hot.f0{border-color:#98a3b1;background:rgba(150,160,175,.10)}
.hot.f1{border-color:#d99b23;background:rgba(217,155,35,.16)}
.hot.f2{border-color:#1f6feb;background:rgba(31,111,235,.16)}
.hot.f3{border-color:#1a7f5a;background:rgba(26,127,90,.17)}
.hot.custom{border-style:dashed}
.hot .rz{
  position:absolute;right:-1px;bottom:-1px;width:14px;height:14px;
  background:var(--accent);border:2px solid #fff;border-radius:3px;cursor:nwse-resize;display:none
}
body.editmode .hot{cursor:move}
body.editmode .hot .rz{display:block}
.rubber{position:absolute;border:2px dashed var(--accent);background:rgba(31,111,235,.12);pointer-events:none}

/* ---------- modal ---------- */
.overlay{
  position:fixed;inset:0;background:rgba(18,26,36,.45);z-index:100;
  display:flex;align-items:flex-start;justify-content:center;padding:36px 16px;overflow:auto
}
.overlay[hidden]{display:none}
.modal{
  background:var(--panel);border-radius:10px;width:100%;max-width:920px;
  box-shadow:0 20px 60px rgba(10,20,35,.35); overflow:hidden
}
.modal.narrow{max-width:520px}
.mhead{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
.mhead h3{margin:0;font-size:17px}
.mhead .sub{font-size:12px;color:var(--ink-soft)}
.mbody{padding:16px 18px;max-height:65vh;overflow:auto}
.mfoot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fafbfc}

/* ---------- çalışma dokümanı çubuğu (belge detayında) ---------- */
.docbody-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:14px;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;
  background:#fbfcfe;
}
.docbody-bar .gv-lbl{font-size:12.5px;color:var(--ink-soft)}
.docbody-bar .gv-ok{color:var(--ok);font-weight:600}
.docbody-bar .gv-bos{color:var(--warn);font-weight:600}

/* ---------- markdown editör modalı ---------- */
.modal.mdmodal{max-width:1000px;display:flex;flex-direction:column;max-height:calc(100vh - 72px)}

/* araç çubuğu */
.mdtoolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px;
  padding:8px 12px;border-bottom:1px solid var(--line);background:#f7f9fb;
  position:sticky;top:0;z-index:2;
}
.mdtoolbar .tbgrp{display:flex;gap:3px}
.mdtoolbar .tbsep{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}
.tbtn{
  min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:6px;
  background:#fff;cursor:pointer;font-size:13px;color:var(--ink);line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.tbtn:hover{background:var(--accent-soft);border-color:#cfe0fb}
.tbtn:active{background:var(--accent);color:#fff}

/* düzenleme yüzeyi */
.mdedit-wrap{flex:1;min-height:0;overflow:auto;background:#fff;padding:20px 24px}
.mdedit{min-height:56vh;outline:0}
.mdedit:focus{outline:0}
.mdedit:empty::before{content:"Metni buraya yazın; üstteki araç çubuğuyla biçimlendirin.";color:var(--ink-soft);font-style:italic}

/* ortak zengin-metin tipografisi (hem editör hem önizleme) */
.md-render{font-size:14px;line-height:1.65;color:var(--ink)}
.md-render h1,.md-render h2,.md-render h3,.md-render h4{margin:1.1em 0 .5em;line-height:1.25;font-weight:700}
.md-render h1{font-size:23px;border-bottom:1px solid var(--line);padding-bottom:.25em}
.md-render h2{font-size:19px;border-bottom:1px solid var(--line);padding-bottom:.2em}
.md-render h3{font-size:16px}
.md-render h4{font-size:14px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}
.md-render p{margin:.55em 0}
.md-render ul,.md-render ol{margin:.5em 0;padding-left:1.6em}
.md-render li{margin:.2em 0}
.md-render hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}
.md-render a{color:var(--accent)}
.md-render code{background:#eef1f5;border-radius:4px;padding:1px 5px;font-size:.92em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.md-render pre{background:#0f1b2d;color:#e6edf6;padding:12px 14px;border-radius:8px;overflow:auto;font-size:12.5px}
.md-render pre code{background:transparent;color:inherit;padding:0}
.md-render blockquote{margin:.6em 0;padding:.2em 0 .2em 14px;border-left:3px solid var(--accent);color:var(--ink-soft)}
.md-render table{border-collapse:collapse;width:100%;margin:.7em 0;font-size:13px}
.md-render table th,.md-render table td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}
.md-render table th{background:#f4f6f8;font-weight:700}
.md-render .md-empty{color:var(--ink-soft);font-style:italic}

@media (max-width:820px){
  .modal.mdmodal{max-width:100%;max-height:calc(100vh - 24px)}
  .mdedit-wrap{padding:14px 16px}
  .mdedit{min-height:46vh}
}
.x{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-soft);padding:0 4px}

.grid{display:grid;gap:10px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:2fr 1fr 1fr}
label.fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-soft);font-weight:600}
label.fld input,label.fld select,label.fld textarea{
  border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;font-weight:400;color:var(--ink)
}
label.fld textarea{resize:vertical;min-height:54px}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 16px}
legend{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-weight:700;padding:0 6px}

table.items{width:100%;border-collapse:collapse;font-size:13px}
table.items th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);
  border-bottom:1px solid var(--line);padding:6px 6px
}
table.items td{border-bottom:1px solid #f0f3f6;padding:5px 6px;vertical-align:middle}
table.items input,table.items select{width:100%;border:1px solid transparent;background:transparent;border-radius:5px;padding:5px 6px}
table.items input:hover,table.items select:hover{border-color:var(--line)}
table.items input:focus,table.items select:focus{border-color:var(--accent);background:#fff;outline:none}
td.qty{width:74px} td.cat{width:160px} td.st{width:150px} td.act{width:36px;text-align:right}
.del{border:0;background:transparent;color:#b02a2a;cursor:pointer;font-size:15px;padding:2px 4px;border-radius:4px}
.del:hover{background:#fdeeee}
.empty{padding:24px;text-align:center;color:var(--ink-soft);border:1px dashed var(--line);border-radius:8px}

.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{
  border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 12px;
  cursor:pointer;font-size:12.5px
}
.pill:hover{border-color:var(--accent);background:var(--accent-soft)}
.badge{display:inline-block;padding:1px 8px;border-radius:12px;font-size:11px;font-weight:600}
.b-plan{background:#eef1f5;color:#54626f}
.b-order{background:#fdf1dd;color:#8a5400}
.b-recv{background:#e2f4ec;color:#12684a}

/* =====================================================================
   PROJE PANOSU — üst sekmeler, özet şeridi, evrak / karar / tedarikçi
   ===================================================================== */
:root{ --hdr:104px; --purple:#4b2f8f; }

header{display:block;padding:0;gap:0}
.hdr-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:9px 18px}
.hdr-row + .hdr-row{border-top:1px solid var(--line);background:#fafbfc;padding:7px 18px}
.tabs.main{background:#eaeef3}
.tabs.main button{padding:8px 16px;font-size:13.5px}
.tabs.main button.on{color:var(--accent)}

.sum{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.sumchip{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  background:#fff;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600;color:var(--ink-soft);
  white-space:nowrap;
}
.sumchip b{color:var(--ink);font-size:12.5px}
.sumchip.good{background:#e2f4ec;border-color:#c2e6d6;color:#12684a}
.sumchip.good b{color:#0e5a40}
.sumchip.warn{background:#fdf1dd;border-color:#f0dcb4;color:#8a5400}
.sumchip.warn b{color:#7a4a00}
.sumchip.bad{background:#fdecec;border-color:#f2c9c9;color:#8f1f1f}
.sumchip.bad b{color:#7d1919}
.sumchip .mini{width:64px;height:6px;background:rgba(0,0,0,.10);border-radius:4px;overflow:hidden}
.sumchip .mini > i{display:block;height:100%;background:currentColor;border-radius:4px}

.view[hidden]{display:none !important}
/* iki satırlı başlık nedeniyle yapışkan öğeleri ölçülen yüksekliğe bağla */
aside{top:calc(var(--hdr) + 10px); max-height:calc(100vh - var(--hdr) - 28px)}
.stage{max-height:calc(100vh - var(--hdr) - 78px)}
.pane{max-width:1500px;margin:0 auto;padding:16px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:13px 15px;margin-bottom:14px;
}
.card > h3{margin:0 0 10px;font-size:14.5px}
.card > h3.tight{margin-bottom:4px}
.card .desc{font-size:12.5px;color:var(--ink-soft);margin:0 0 10px}
.card.alert{border-color:#f0cccc;background:#fffafa}
.card.alert > h3{color:#8f1f1f}
.card.info{border-color:#cfe0fb;background:#f7faff}

.pbar{height:8px;background:#eef1f5;border-radius:5px;overflow:hidden;flex:1;min-width:60px}
.pbar > i{display:block;height:100%;width:0;background:var(--accent);border-radius:5px;transition:width .2s}
.pbar.done > i{background:var(--ok)}
.pbar.sm{height:6px;min-width:44px}
.barline{display:flex;align-items:center;gap:10px}
.barline .pct{font-size:12px;font-weight:700;color:var(--ink-soft);min-width:42px;text-align:right}

.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters input[type=search]{
  border:1px solid var(--line);border-radius:6px;padding:6px 10px;min-width:210px;background:#fff
}
.fpill{
  border:1px solid var(--line);background:#fff;border-radius:20px;padding:4px 11px;
  cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-soft)
}
.fpill:hover{border-color:var(--accent)}
.fpill.on{background:var(--accent);border-color:var(--accent);color:#fff}

.prio{display:flex;flex-wrap:wrap;gap:6px}
.prio button{
  border:1px solid #f0cccc;background:#fff;color:#8f1f1f;border-radius:6px;
  padding:6px 11px;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left
}
.prio button:hover{background:#fdecec}

.docsec{margin-bottom:14px}
.dshead{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--line);border-bottom:0;
  border-radius:var(--radius) var(--radius) 0 0;padding:9px 13px
}
.dshead h3{margin:0;font-size:13.5px;flex:0 0 auto}
.dshead .ratio{font-size:12px;color:var(--ink-soft);font-weight:600}
.dshead .barline{flex:1;min-width:180px}
.dswrap{
  background:var(--panel);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow);overflow-x:auto
}
table.docs{width:100%;border-collapse:collapse;font-size:13px;min-width:940px}
table.docs th{
  text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);
  border-bottom:1px solid var(--line);padding:7px 8px;background:#fafbfc;font-weight:700
}
table.docs td{border-bottom:1px solid #f0f3f6;padding:6px 8px;vertical-align:middle}
table.docs tr.docrow:hover > td{background:#fafcff}
table.docs tr.docrow.hl > td{background:#fff6e6}
td.tw{width:40px;text-align:center;padding-left:8px;padding-right:2px}
.twist{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border:1.5px solid var(--accent);background:#fff;
  color:var(--accent);cursor:pointer;font-size:22px;font-weight:700;line-height:1;
  border-radius:7px;padding:0;transition:background .12s ease,color .12s ease,transform .08s ease;
}
.twist:hover{background:var(--accent-soft)}
.twist:active{transform:scale(.92)}
.twist.acik{background:var(--accent);color:#fff}
.twist:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
td.dnm{min-width:250px}
td.dnm b{font-weight:600;display:block;line-height:1.3}
td.dnm .sub{font-size:11px;color:var(--ink-soft);margin-top:2px}
td.dnm .sub .warnnote{color:#8f1f1f}
td.dst{width:170px} td.dsor{width:130px} td.dtar{width:140px} td.dnot{min-width:170px}
td.dprg{width:120px} td.dact{width:34px;text-align:right}
table.docs input[type=text],table.docs input[type=date]{
  width:100%;border:1px solid transparent;background:transparent;border-radius:5px;padding:5px 6px
}
table.docs input:hover{border-color:var(--line)}
table.docs input:focus{border-color:var(--accent);background:#fff;outline:none}
select.dsel{
  width:100%;border:1px solid var(--line);border-radius:14px;padding:4px 8px;
  font-size:12px;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none;text-align:center
}
.d-yok{background:#fdecec;color:#8f1f1f;border-color:#f2c9c9 !important}
.d-sablon{background:#eef1f5;color:#4b5b6b;border-color:#dde3ea !important}
.d-taslak{background:#fdf1dd;color:#8a5400;border-color:#f0dcb4 !important}
.d-inceleme{background:#e8f0fe;color:#12437f;border-color:#cfe0fb !important}
.d-uzman{background:#f0e9fd;color:#4b2f8f;border-color:#ded0fa !important}
.d-onay{background:#e2f4ec;color:#12684a;border-color:#c2e6d6 !important}

tr.docdet > td{background:#f8fafc;border-bottom:1px solid var(--line);padding:10px 14px 12px 34px}
.detgrid{display:grid;grid-template-columns:1fr 2fr;gap:16px}
@media (max-width:900px){ .detgrid{grid-template-columns:1fr} }
.detbox h4{
  margin:0 0 6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--ink-soft);font-weight:700
}
ul.subs{list-style:none;margin:0;padding:0;display:grid;gap:3px}
ul.subs li{display:flex;align-items:flex-start;gap:6px}
ul.subs li label{flex:1;display:flex;gap:8px;align-items:flex-start;font-size:12.5px;cursor:pointer;line-height:1.35}
ul.subs li label input{margin-top:2px;flex:0 0 auto}
ul.subs li label.tick{color:var(--ok);text-decoration:line-through;text-decoration-color:#b9d8cb}
.subdel{flex:0 0 auto;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:12px;opacity:0;padding:2px 5px;border-radius:4px;line-height:1}
ul.subs li:hover .subdel{opacity:.9}
.subdel:hover{background:#f5dede;color:var(--danger);opacity:1}
.subadd{margin-top:10px}
.govde-satir{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.govde-satir .gv-lbl{font-weight:700;font-size:13px}
.govde-satir .gv-durum{font-size:12.5px}
.govde-kutu .gv-ok{color:var(--ok);font-weight:600}
.govde-kutu .gv-bos{color:var(--warn);font-weight:600}
.detcol-sag{display:flex;flex-direction:column;gap:12px;min-width:0}
.files-kutu{margin-top:0}
/* açık belge kartı belirgin */
tr.docrow.acik-row>td{background:var(--accent-soft)}
tr.docrow.acik-row .dnm b{color:#12437f}
tr.docdet>td{background:#f6f9ff;box-shadow:inset 3px 0 0 var(--accent);padding-top:14px;padding-bottom:16px}
ul.files{list-style:none;margin:0;padding:0;display:grid;gap:4px}
ul.files li a{
  display:block;font-size:12.5px;color:var(--accent);text-decoration:none;
  border:1px solid var(--line);border-radius:5px;padding:4px 8px;background:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
ul.files li a:hover{background:var(--accent-soft);border-color:#cfe0fb}
.frow{
  display:flex;align-items:center;gap:6px;
  border:1px solid var(--line);border-radius:5px;padding:3px 4px 3px 8px;background:#fff;
}
.frow .fnm{
  flex:1;min-width:0;font-size:12.5px;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.frow .fact{display:flex;gap:3px;flex:0 0 auto}
.frow .fbtn{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:5px;
  background:#fff;text-decoration:none;font-size:13px;line-height:1;
}
.frow .fbtn:hover{background:var(--accent-soft);border-color:#cfe0fb}
.nofile{font-size:12.5px;color:var(--ink-soft);font-style:italic}

/* --- şablon yükleme (dosya ekleme) --- */
.fyukle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.fipucu{font-size:11px;color:var(--ink-soft)}
.fdurum{font-size:11.5px;color:var(--ink-soft);flex:1 0 100%}
.fdurum:empty{display:none}
.fdurum.bekliyor{color:var(--accent)}
.fdurum.kotu{color:var(--danger);font-weight:600}
.files-kutu.surukle{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}
.files-kutu.yukleniyor{opacity:.72}

/* ---- kararlar ---- */
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.kcard{
  background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--warn);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:8px
}
.kcard h4{margin:0;font-size:13.5px;line-height:1.35}
.kcard .kmeta{font-size:11.5px;color:var(--ink-soft);display:grid;gap:2px}
.kcard .kmeta b{color:var(--ink)}
.kcard .knot{font-size:12px;color:#8a5400;background:#fdf1dd;border-radius:5px;padding:5px 8px}
.kcard textarea{
  border:1px solid var(--line);border-radius:6px;padding:6px 8px;min-height:52px;resize:vertical;
  font-size:12.5px;background:#fff
}
.kcard .krow{display:flex;gap:8px;align-items:center}
.kcard select{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12.5px;background:#fff}
.kcard.ok{border-left-color:var(--ok)}
ul.kdone{list-style:none;margin:0;padding:0;display:grid;gap:5px}
ul.kdone li{
  display:flex;gap:10px;align-items:flex-start;font-size:13px;
  border-bottom:1px solid #f0f3f6;padding:6px 2px
}
ul.kdone li .tick{color:var(--ok);font-weight:700;flex:0 0 auto}
ul.kdone li .kt{flex:1;min-width:0}
ul.kdone li .kt b{font-weight:600}
ul.kdone li .kt span{display:block;font-size:12px;color:var(--ink-soft)}

/* ---- tedarikçiler ---- */
table.sup{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}
table.sup th{
  text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);
  border-bottom:1px solid var(--line);padding:7px 8px;background:#fafbfc;font-weight:700
}
table.sup td{border-bottom:1px solid #f0f3f6;padding:5px 6px;vertical-align:middle}
table.sup input{width:100%;border:1px solid transparent;background:transparent;border-radius:5px;padding:5px 6px}
table.sup input:hover{border-color:var(--line)}
table.sup input:focus{border-color:var(--accent);background:#fff;outline:none}
table.sup select{width:100%;border:1px solid var(--line);border-radius:14px;padding:4px 8px;font-size:12px;font-weight:700;text-align:center;-webkit-appearance:none;appearance:none}
.s-ara{background:#fdecec;color:#8f1f1f;border-color:#f2c9c9 !important}
.s-teklif{background:#fdf1dd;color:#8a5400;border-color:#f0dcb4 !important}
.s-imza{background:#e2f4ec;color:#12684a;border-color:#c2e6d6 !important}
.tblwrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}

/* ---------- print ---------- */
#report{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm}
  body{background:#fff;font-size:10.5pt}
  header,aside,.toolbar,.stage,.overlay,#noprint{display:none !important}
  .wrap{display:block;padding:0}
  #report{display:block}
  .rp-head{border-bottom:2px solid #1c2530;padding-bottom:8px;margin-bottom:14px}
  .rp-head h1{margin:0 0 2px;font-size:17pt}
  .rp-head .meta{font-size:9pt;color:#444}
  .rp-floor{page-break-before:always}
  .rp-floor:first-of-type{page-break-before:avoid}
  .rp-floor > h2{font-size:13pt;margin:0 0 10px;background:#eef1f5;padding:6px 8px;border-left:4px solid #1c2530}
  .rp-room{page-break-inside:avoid;margin:0 0 14px}
  .rp-room h3{font-size:11pt;margin:0 0 1px}
  .rp-room .rmeta{font-size:8.5pt;color:#444;margin:0 0 5px}
  .rp-room table{width:100%;border-collapse:collapse;font-size:9pt}
  .rp-room th,.rp-room td{border:1px solid #b9c2cc;padding:3px 5px;text-align:left;vertical-align:top}
  .rp-room th{background:#f0f3f6;font-size:8.5pt;text-transform:uppercase;letter-spacing:.3px}
  .rp-room td.n{width:26px;text-align:center} .rp-room td.q{width:44px;text-align:center}
  .rp-none{font-size:9pt;color:#666;font-style:italic;border:1px dashed #b9c2cc;padding:5px 7px}
  .rp-sum{margin-top:6px;font-size:9pt}
  .rp-sum table{width:auto;border-collapse:collapse}
  .rp-sum td{border:1px solid #b9c2cc;padding:3px 8px}

  /* --- proje panosu rapor bölümleri --- */
  .view{display:none !important}
  .rp-sec{page-break-before:always}
  .rp-sec > h2{font-size:13pt;margin:0 0 4px;background:#eef1f5;padding:6px 8px;border-left:4px solid #1c2530}
  .rp-sec > p.lead{font-size:9pt;color:#333;margin:0 0 10px}
  .rp-sub{font-size:11pt;margin:12px 0 5px;border-bottom:1px solid #1c2530;padding-bottom:2px}
  .rp-sub:first-of-type{margin-top:6px}
  table.rp-tbl{width:100%;border-collapse:collapse;font-size:8.5pt;page-break-inside:auto}
  table.rp-tbl th,table.rp-tbl td{border:1px solid #b9c2cc;padding:3px 5px;text-align:left;vertical-align:top}
  table.rp-tbl th{background:#f0f3f6;font-size:8pt;text-transform:uppercase;letter-spacing:.3px}
  table.rp-tbl tr{page-break-inside:avoid}
  table.rp-tbl td.c{text-align:center;white-space:nowrap}
  table.rp-tbl td.r,table.rp-tbl th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
  .rp-st{font-weight:700;white-space:nowrap}
  .rp-st.x{color:#8f1f1f}
  .rp-st.v{color:#12684a}
  .rp-checks{margin:3px 0 0;padding:0 0 0 2px;list-style:none;font-size:8pt;color:#333}
  .rp-checks li{line-height:1.35}
  .rp-files{margin:3px 0 0;padding:0 0 0 2px;list-style:none;font-size:7.5pt;color:#444}
  .rp-note{font-size:8pt;color:#444;font-style:italic}
  .rp-kpi{display:table;width:100%;border-collapse:collapse;font-size:9pt;margin:0 0 12px}
  .rp-kpi > div{display:table-cell;border:1px solid #b9c2cc;padding:6px 8px;text-align:center;width:33%}
  .rp-kpi b{display:block;font-size:15pt}
  .rp-warn{border:1px solid #8f1f1f;padding:6px 8px;font-size:9pt;margin:0 0 12px}
  .rp-warn b{color:#8f1f1f}
}
@media (max-width:1000px){
  .wrap{flex-direction:column}
  aside{width:100%;flex:none;position:static;max-height:340px}
}


/* =====================================================================
   SUNUCU SÜRÜMÜ — SADELEŞTİRİLMİŞ ARAYÜZ
   İki satırlık başlık, bağlama duyarlı araç çubuğu, ikon butonlar,
   daha az çerçeve / daha çok boşluk.
   ===================================================================== */
:root{ --hdr:96px; }

/* ---------- başlık ---------- */
header{
  background:var(--panel); border-bottom:1px solid var(--line);
  box-shadow:0 1px 2px rgba(20,30,45,.04);
}
.hdr-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;padding:8px 16px;min-height:46px}
.hdr-row.r2{
  border-top:1px solid #eef1f5;background:#fcfdfe;padding:6px 16px;min-height:42px;
  overflow-x:auto;scrollbar-width:thin
}
.hdr-row + .hdr-row{background:#fcfdfe}

.brand-min{
  font-size:14px;letter-spacing:.2px;white-space:nowrap;margin-right:4px;flex:0 0 auto
}
.tabs{display:flex;gap:2px;background:#eef1f5;padding:3px;border-radius:8px;flex:0 0 auto}
.tabs.main{background:#eaeef3}
.tabs.main button{padding:6px 14px;font-size:13px}
.tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.10)}
.tabs.main button.on{color:var(--accent)}

/* ---------- ikon butonlar ---------- */
.ibtn{
  border:1px solid transparent;background:transparent;color:var(--ink-soft);
  width:30px;height:30px;flex:0 0 30px;border-radius:7px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;line-height:1;padding:0;
}
.ibtn:hover{background:#eef1f5;color:var(--ink)}
.ibtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.ibtn.on{background:var(--accent);border-color:var(--accent);color:#fff}
.sep{width:1px;height:20px;background:var(--line);flex:0 0 1px;margin:0 2px}

/* ---------- taşma menüsü ---------- */

/* ---------- bağlama duyarlı satır ---------- */
.ctx{display:flex;align-items:center;gap:7px;flex:1;min-width:0}
.ctx[hidden]{display:none !important}
.ctx input[type=range]{width:120px;flex:0 0 auto;accent-color:var(--accent)}
.ctx input[type=search]{
  border:1px solid var(--line);border-radius:7px;padding:5px 10px;min-width:190px;
  background:#fff;flex:0 1 240px
}
.ctx .hint{white-space:nowrap;font-size:12px}
.ctx .hint.sabit{min-width:42px;text-align:center}
.ctx .filters{display:flex;gap:5px;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ctx .filters::-webkit-scrollbar{display:none}
.barline.dar{flex:0 0 auto;min-width:132px}
.barline.dar .pbar{min-width:88px}

.fpill{
  border:1px solid var(--line);background:#fff;border-radius:20px;padding:3px 10px;
  cursor:pointer;font-size:12px;font-weight:600;color:var(--ink-soft);white-space:nowrap
}
.fpill:hover{border-color:var(--accent)}
.fpill.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- özet çipleri (aktif sekmeninki vurgulu) ---------- */
.sum{display:flex;gap:5px;flex-wrap:nowrap;align-items:center;flex:0 1 auto;min-width:0}
.sumchip{
  display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);
  background:#fff;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:600;
  color:var(--ink-soft);white-space:nowrap;cursor:pointer;
  transition:opacity .15s, filter .15s
}
.sumchip b{color:var(--ink);font-size:12px}
.sumchip .mini{width:44px;height:5px;background:rgba(0,0,0,.10);border-radius:4px;overflow:hidden}
.sumchip .mini > i{display:block;height:100%;background:currentColor;border-radius:4px}
.sumchip.good{background:#e2f4ec;border-color:#c2e6d6;color:#12684a}
.sumchip.good b{color:#0e5a40}
.sumchip.warn{background:#fdf1dd;border-color:#f0dcb4;color:#8a5400}
.sumchip.warn b{color:#7a4a00}
.sumchip.bad{background:#fdecec;border-color:#f2c9c9;color:#8f1f1f}
.sumchip.bad b{color:#7d1919}
.sumchip.sonuk{opacity:.42;filter:saturate(.35)}
.sumchip.sonuk:hover{opacity:.8;filter:none}

/* ---------- içerik: daha az kutu ---------- */
.pane{max-width:1500px;margin:0 auto;padding:18px 16px 28px}
.wrap{gap:18px;padding:16px}
.card{border-radius:9px;padding:12px 15px;margin-bottom:16px;box-shadow:none}
.card.info{border-color:#dbe7fb;background:#f8fbff}
.card.alert{border-color:#f2d6d6;background:#fffafa}

/* kararlar / tedarikçiler: kart yerine düz blok */
.blok{margin:0 0 22px}
.blok-bas{
  margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.3px;
  color:var(--ink);padding-bottom:6px;border-bottom:1px solid var(--line)
}
.blok .desc{margin:0 0 10px}
.blok[hidden]{display:none !important}

aside{box-shadow:none;border-radius:9px}
.stage{box-shadow:none;border-radius:9px;max-height:calc(100vh - var(--hdr) - 42px)}
.dswrap{box-shadow:none}
.tblwrap{box-shadow:none}
.docsec{margin-bottom:18px}
.dshead{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 2px}
.dswrap{border-radius:0 0 9px 9px;border-top:0}
.kcard{box-shadow:none}

/* ---------- kayıt göstergesi ---------- */
.kayit{
  font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;
  border:1px solid transparent;white-space:nowrap;flex:0 0 auto;
  opacity:0;transition:opacity .18s
}
.kayit.gorunur{opacity:1}
.kayit.bekliyor{background:#eef1f5;color:#54626f;border-color:#dde3ea}
.kayit.tamam{background:#e2f4ec;color:#12684a;border-color:#c2e6d6}
.kayit.uyari{background:#fdf1dd;color:#8a5400;border-color:#f0dcb4}
.kayit.hata{background:#fdecec;color:#8f1f1f;border-color:#f2c9c9}

/* ---------- yükleme / bildirim ---------- */
.yukleniyor{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--ink-soft);font-size:14px;font-weight:600
}
.yukleniyor[hidden]{display:none}
.yukleniyor.hataliDurum{color:#8f1f1f;flex-direction:column;gap:10px;text-align:center;padding:24px}

#uyariKutu{
  position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:300;
  background:#22303f;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;
  box-shadow:0 8px 28px rgba(10,20,35,.35);max-width:min(560px,92vw)
}
#uyariKutu[hidden]{display:none}
#uyariKutu.iyi{background:#12684a}
#uyariKutu.kotu{background:#8f1f1f}

/* ---------- dar ekran ---------- */
@media (max-width:1180px){
  .sumchip:not(.etkin){display:none}
  .brand-min{display:none}
}
@media (max-width:1000px){
  .wrap{flex-direction:column}
  aside{width:100%;flex:none;position:static;max-height:340px}
  .tabs.main button{padding:6px 10px;font-size:12.5px}
  .ctx input[type=search]{min-width:140px}
}

/* ===================== SÜRÜM ROZETİ (sayfa altı, sol) ===================== */
.surum-sarmal{position:fixed;left:14px;bottom:14px;z-index:110}
.surum-sarmal[hidden]{display:none}
.surum-rozet{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 10px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.9);color:var(--ink-soft);
  font-size:11px;line-height:1;cursor:pointer;
  box-shadow:0 1px 3px rgba(20,30,45,.10);opacity:.62;
}
.surum-rozet:hover{opacity:1;border-color:#c8d4e2}
.surum-nokta{
  width:7px;height:7px;border-radius:50%;flex:0 0 auto;
  background:var(--ok);
}
.surum-hash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;color:var(--ink)}
.surum-tarih{color:var(--ink-soft)}
.surum-etiket{
  padding:2px 7px;border-radius:999px;background:#fbf1e2;color:var(--warn);
  font-size:10px;font-weight:700;letter-spacing:.02em;
}
.surum-sarmal.guncelleme .surum-rozet{opacity:1;border-color:#eedfc7;background:#fffaf2}
.surum-sarmal.guncelleme .surum-nokta{background:var(--warn);box-shadow:0 0 0 3px rgba(178,107,0,.16)}

.surum-kutu{
  position:absolute;left:0;bottom:calc(100% + 8px);
  width:290px;max-width:calc(100vw - 28px);
  background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:12px 13px;box-shadow:0 12px 34px rgba(10,20,35,.20);
  font-size:12px;color:var(--ink);
}
.surum-kutu[hidden]{display:none}
.sk-bas{
  font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;
  color:var(--ink-soft);margin-bottom:8px;
}
.sk-satir{display:flex;gap:10px;align-items:baseline;padding:3px 0}
.sk-satir span{flex:0 0 56px;color:var(--ink-soft);font-size:11px}
.sk-satir b{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}
.sk-uyari{
  margin-top:9px;padding:8px 10px;border-radius:8px;line-height:1.4;
  background:#fbf4e9;border:1px solid #eedfc7;color:#7a4a05;
}
.sk-tamam{margin-top:9px;font-size:11.5px;color:var(--ok);font-weight:600}

@media (max-width:600px){
  .surum-sarmal{left:10px;bottom:10px}
  .surum-tarih,.surum-etiket{display:none}
}

/* ---------- yazdırma: hiçbir araç çubuğu basılmaz ---------- */
@media print{
  header,.hdr-row,.ctx,.menu,.ibtn,.kayit,.yukleniyor,#uyariKutu,.surum-sarmal,
  aside,.stage,.overlay,#noprint{display:none !important}
  .view{display:none !important}
  #report{display:block}
}

/* =====================================================================
   MOBİL UYUM — dokunmatik ve dar ekran düzeni
   (yalnızca ekran; @media print kurallarına sızmaz)
   ===================================================================== */
.mobonly{display:none}
.drawer-backdrop{position:fixed;inset:0;background:rgba(18,26,36,.45);z-index:110}
.drawer-backdrop[hidden]{display:none}
@media screen and (min-width:601px){
  .drawer-backdrop{display:none !important}
}

/* ---- TABLET (≤1000): kararlar tek sütuna yaklaşsın, boşluk azalsın ---- */
@media screen and (max-width:760px){
  .kgrid{grid-template-columns:1fr}
}

/* ============================ TELEFON (≤600) ============================ */
@media screen and (max-width:600px){
  html{overflow-x:hidden}

  /* iOS'ta odaklanınca yakınlaştırmayı engelle: form denetimleri ≥16px */
  input,select,textarea{font-size:16px}

  /* ---------- başlık ---------- */
  .hdr-row{gap:6px}
  .hdr-row.r1{flex-wrap:nowrap;padding:6px 8px}
  .hdr-row.r1 .spacer{display:none}
  .hdr-row.r2{padding:6px 8px}
  .tabs.main{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
  .tabs.main::-webkit-scrollbar{display:none}
  .tabs.main button{padding:8px 12px;font-size:13px;white-space:nowrap}
  .sum{flex:0 0 auto}

  /* dokunmatik hedefler ≥40px */
  .ibtn{width:40px;height:40px;flex:0 0 40px;font-size:17px}
  .fpill{padding:8px 13px}
  .pill{padding:8px 14px}
  .btn.sm{padding:8px 12px;font-size:13px}
  .del{font-size:18px;padding:6px 8px}
  .twist{width:34px;height:34px;font-size:26px;padding:0}
  .prio button{padding:9px 12px}
  ul.subs li label{padding:4px 0}
  ul.subs li label input{width:20px;height:20px}

  /* Mekan araç çubuğundaki "Odalar" düğmesi */
  .mobonly{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}

  /* ---------- MEKAN: kenar çubuğu → çekmece ---------- */
  .wrap{padding:10px;gap:10px}
  main{width:100%}
  .stage{padding:8px;max-height:calc(100vh - var(--hdr) - 24px);touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
  aside{
    position:fixed;top:0;left:0;bottom:0;height:100%;width:82%;max-width:320px;
    max-height:none;z-index:120;border-radius:0 12px 12px 0;
    box-shadow:0 12px 40px rgba(10,20,35,.4);
    transform:translateX(-105%);transition:transform .22s ease;
  }
  body.odalar-acik aside{transform:none}
  aside .roomrow{padding:12px 14px}

  /* ---------- modallar → tam genişlik alt-sayfa ---------- */
  .overlay{padding:0;align-items:flex-end}
  .modal,.modal.narrow{max-width:100%;width:100%;max-height:94vh;border-radius:14px 14px 0 0}
  .mbody{max-height:calc(94vh - 120px)}
  .mhead,.mfoot{padding-left:14px;padding-right:14px}
  .grid.g2,.grid.g3{grid-template-columns:1fr}

  /* ---------- ekipman tablosu → yığılmış kart ---------- */
  table.items{min-width:0}
  table.items,table.items tbody,table.items tr,table.items td{display:block;width:auto}
  table.items thead{display:none}
  table.items tr{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:10px;position:relative}
  table.items td{border:0;padding:5px 0;display:flex;align-items:center;gap:8px}
  table.items td::before{
    content:attr(data-label);flex:0 0 84px;font-size:11px;text-transform:uppercase;
    letter-spacing:.4px;color:var(--ink-soft);font-weight:700
  }
  table.items td.act{position:absolute;top:6px;right:8px;padding:0;width:auto}
  table.items td.act::before{display:none}
  table.items input,table.items select{border-color:var(--line);flex:1;min-width:0}

  /* ---------- EVRAKLAR: satır → yığılmış kart ---------- */
  .dswrap{overflow-x:visible}
  .dshead{flex-wrap:wrap}
  table.docs{min-width:0}
  table.docs,table.docs tbody,table.docs tr,table.docs td{display:block;width:auto}
  table.docs thead{display:none}
  table.docs tr[hidden]{display:none}
  table.docs tr.docrow{border:1px solid var(--line);border-radius:8px;margin:10px;padding:10px 12px 12px;position:relative}
  table.docs tr.docrow.hl > td{background:transparent}
  table.docs tr.docrow.hl{border-color:#f0c98a;background:#fff6e6}
  td.tw{position:absolute;left:8px;top:10px;padding:0}
  td.dnm{min-width:0;padding:0 26px 8px 26px}
  td.dst,td.dsor,td.dtar,td.dnot,td.dprg{display:flex;align-items:center;gap:8px;padding:5px 0}
  td.dst::before,td.dsor::before,td.dtar::before,td.dnot::before,td.dprg::before{
    content:attr(data-label);flex:0 0 82px;font-size:11px;text-transform:uppercase;
    letter-spacing:.4px;color:var(--ink-soft);font-weight:700
  }
  td.dst .dsel{flex:1}
  td.dprg .barline{flex:1}
  td.dact{position:absolute;top:8px;right:8px;padding:0}
  table.docs tr.docdet > td{padding:10px 12px 12px 12px}

  /* ---------- TEDARİKÇİLER: satır → yığılmış kart ---------- */
  .tblwrap{overflow-x:visible}
  table.sup{min-width:0}
  table.sup,table.sup tbody,table.sup tr,table.sup td{display:block;width:auto}
  table.sup thead{display:none}
  table.sup tr{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:8px 10px 10px;position:relative}
  table.sup td{border:0;padding:5px 0;display:flex;align-items:center;gap:8px}
  table.sup td::before{
    content:attr(data-label);flex:0 0 96px;font-size:11px;text-transform:uppercase;
    letter-spacing:.4px;color:var(--ink-soft);font-weight:700
  }
  table.sup td.sup-hiz{padding-right:34px}
  table.sup td.sup-hiz::before{display:none}
  table.sup td.sup-hiz b{font-size:14px}
  table.sup td.sup-del{position:absolute;top:6px;right:8px;padding:0;width:auto}
  table.sup td.sup-del::before{display:none}
  table.sup td.empty{display:block}
  table.sup td.empty::before{display:none}
  table.sup input,table.sup select{border-color:var(--line);flex:1;min-width:0}

  /* ---------- içerik boşlukları ---------- */
  .pane{padding:12px 10px 24px}
}

/* ===================== GİRİŞ EKRANI ===================== */
.giris-katman{
  position:fixed;inset:0;z-index:200;padding:20px;
  background:linear-gradient(135deg,#12325e 0%,#1f6feb 60%,#2aa0b0 100%);
  display:flex;align-items:center;justify-content:center;
}
.giris-katman[hidden]{display:none}
body.giris-acik{overflow:hidden}
.giris-kutu{
  background:var(--panel);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.4);
  width:100%;max-width:360px;padding:28px;
}
.giris-logo{font-size:20px;font-weight:800;text-align:center;margin-bottom:20px;color:var(--ink)}
.giris-form h2{margin:0 0 16px;font-size:18px}
.giris-form .fld{margin-bottom:12px}
.giris-form .btn.primary{width:100%;justify-content:center;padding:11px 12px;font-size:15px;margin-top:4px}
.giris-not{font-size:13px;color:var(--ink-soft);margin:0 0 12px;line-height:1.5}
.giris-hata{color:var(--danger);font-size:13px;min-height:18px;margin-bottom:4px}
.kullanici-chip{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-left:6px}
.sonkim{color:var(--ink-soft);font-size:11px;background:#eef1f5;border-radius:10px;padding:1px 7px}

/* ===================== GİRİŞ (LANDING) ===================== */
.brand-min{cursor:pointer;user-select:none}
.brand-min:hover{color:var(--accent)}
body.giris-modu .hdr-row.r2{display:none}

.view.landing{padding:0}
.hero{
  position:relative; min-height:calc(100vh - 60px); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#12325e 0%,#1f6feb 55%,#2aa0b0 100%);
}
.hero-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:center 28%;
}
.hero-bg.yok{display:none}
.hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(9,18,34,.36) 0%,rgba(9,18,34,.52) 55%,rgba(9,18,34,.82) 100%);
}
.hero-inner{
  position:relative; z-index:2; width:100%; max-width:1000px;
  padding:56px 24px 64px; text-align:center; color:#fff;
}
.hero-badge{
  display:inline-block; padding:5px 14px; border-radius:20px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  font-size:12.5px; font-weight:600; letter-spacing:.4px; backdrop-filter:blur(3px);
}
.hero-title{
  margin:16px 0 6px; font-size:34px; line-height:1.15; font-weight:800;
  letter-spacing:-.4px; text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.hero-addr{
  margin:0 0 34px; font-size:15px; color:#e6edf6; font-weight:500;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}
.hero-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.lcard{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:22px 14px; border-radius:14px; cursor:pointer; text-align:center;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
  color:#fff; backdrop-filter:blur(8px);
  transition:transform .14s ease, background .14s ease, box-shadow .14s ease;
}
.lcard:hover{
  transform:translateY(-4px); background:rgba(255,255,255,.24);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.lcard:focus-visible{outline:2px solid #fff; outline-offset:2px}
.lc-ico{font-size:34px; line-height:1}
.lc-t{font-size:17px; font-weight:700; letter-spacing:.2px}
.lc-d{font-size:12.5px; color:#e2ebf6; font-weight:500}

@media (max-width:640px){
  .hero{min-height:calc(100vh - 54px)}
  .hero-inner{padding:36px 16px 44px}
  .hero-title{font-size:25px}
  .hero-addr{font-size:13px; margin-bottom:24px}
  .hero-cards{grid-template-columns:repeat(2,1fr); gap:12px}
  .lcard{padding:18px 10px}
  .lc-ico{font-size:28px}
  .lc-t{font-size:15px}
}

/* =====================================================================
   2026 ARAYÜZ YENİLEMESİ
   Daha sakin görsel dil, belirgin bilgi hiyerarşisi ve dokunmatik kullanım.
   ===================================================================== */
:root{
  --bg:#f3f6f4;
  --panel:#ffffff;
  --ink:#152522;
  --ink-soft:#64736f;
  --line:#dce5e1;
  --accent:#13786f;
  --accent-strong:#0d5f58;
  --accent-soft:#e8f4f1;
  --ok:#347b58;
  --warn:#a9682f;
  --danger:#ac4848;
  --radius:14px;
  --shadow:0 12px 32px rgba(26,54,48,.07);
  --hdr:128px;
}

html{background:var(--bg)}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 95% -10%,rgba(19,120,111,.08),transparent 26rem),
    var(--bg);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.005em;
}

button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[role=button]:focus-visible{
  outline:3px solid rgba(19,120,111,.22);
  outline-offset:2px;
}

/* Başlık ve ana gezinme */
header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(210,222,217,.9);
  box-shadow:0 8px 30px rgba(30,55,50,.055);
  backdrop-filter:blur(18px);
}
.hdr-row.r1{min-height:68px;padding:10px 24px;gap:16px}
.hdr-row.r2{
  min-height:58px;padding:9px 24px;
  background:rgba(248,250,249,.96);
  border-top:1px solid #edf2f0;
}
.brand-lockup{
  display:flex;align-items:center;gap:10px;min-width:218px;
  cursor:pointer;user-select:none;border-radius:10px;
}
.brand-mark{
  display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;
  border-radius:11px;background:#123c3a;color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.08em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy b{font-size:13.5px;letter-spacing:-.01em}
.brand-copy small{margin-top:4px;color:var(--ink-soft);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}

.tabs.main{
  padding:4px;background:#eef3f1;border:1px solid #e6ece9;border-radius:12px;
}
.tabs.main button{
  display:inline-flex;align-items:center;gap:7px;padding:8px 12px;
  border-radius:9px;color:#596a65;font-size:12.5px;font-weight:650;
}
.tabs.main button.on{
  background:#fff;color:var(--accent-strong);
  box-shadow:0 3px 10px rgba(23,55,49,.08);
}
.nav-key{
  display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;
  background:rgba(100,115,111,.09);font-size:9px;font-weight:800;letter-spacing:.04em;
}
.tabs.main button.on .nav-key{background:var(--accent-soft);color:var(--accent-strong)}

.ibtn{
  width:36px;height:36px;flex-basis:36px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:#586964;font-size:15px;
}
.ibtn:hover{background:var(--accent-soft);border-color:#c5ded8;color:var(--accent-strong)}
.sep{background:#dbe4e0}
.kullanici-chip{color:#50615c}

.sum{gap:6px}
.sumchip{
  min-height:30px;padding:5px 9px;border-color:#e1e8e5;
  background:#fafcfb;color:#61716d;font-size:11px;
}
.sumchip b{font-size:11.5px}
.sumchip .sum-label{font-weight:700;color:inherit}
.sumchip.good{background:#edf7f1;border-color:#d5eadd;color:#286647}
.sumchip.warn{background:#fbf4e9;border-color:#eedfc7;color:#8b5729}
.sumchip.bad{background:#fbefef;border-color:#eed3d3;color:#8f3b3b}
.sumchip.sonuk{opacity:.58;filter:saturate(.45)}
.sumchip.sonuk:hover{opacity:1}

/* Bağlama duyarlı araç çubuğu */
.ctx{gap:9px}
.ctx input[type=search]{
  min-width:280px;min-height:38px;padding:8px 12px 8px 38px;
  border-color:#d9e3df;border-radius:10px;
  background:
    linear-gradient(45deg,transparent 48%,#71827d 49% 54%,transparent 55%) 21px 23px/8px 8px no-repeat,
    radial-gradient(circle at 15px 15px,transparent 5px,#71827d 5.5px 6.5px,transparent 7px) 0 0/30px 30px no-repeat,
    #fff;
}
.ctx input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(19,120,111,.10);outline:0}
.fpill{
  min-height:34px;padding:7px 11px;border-color:#dce5e1;border-radius:9px;
  color:#62736e;background:#fff;font-size:11.5px;
}
.fpill:hover{border-color:#9cc9c2;background:#f7fbfa}
.fpill.on{border-color:var(--accent);background:var(--accent);color:#fff}
.btn{
  min-height:38px;padding:8px 13px;border-color:#d8e2de;border-radius:10px;
  font-weight:650;color:#344641;box-shadow:0 1px 1px rgba(20,45,39,.03);
}
.btn:hover{background:#f6faf8;border-color:#c8d8d3}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn.sm{min-height:34px;padding:7px 11px;font-size:12px}
.barline.dar .pbar{min-width:92px}

/* Sayfa başlıkları */
.page-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  padding:16px 2px 22px;border-bottom:1px solid rgba(205,218,213,.8);
  margin-bottom:22px;
}
.page-heading .eyebrow{
  display:block;margin-bottom:8px;color:var(--accent);
  font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.page-heading h1{
  margin:0;color:#18302b;font-size:28px;line-height:1.14;letter-spacing:-.035em;
}
.page-heading p{
  max-width:730px;margin:8px 0 0;color:var(--ink-soft);
  font-size:13.5px;line-height:1.6;
}
.heading-note{
  display:flex;align-items:center;gap:8px;white-space:nowrap;
  color:#5d6e69;font-size:11.5px;font-weight:650;
  padding:8px 11px;border:1px solid #dce5e1;border-radius:10px;background:#fff;
}
.note-dot{
  width:8px;height:8px;border-radius:50%;background:#52a97f;
  box-shadow:0 0 0 4px rgba(82,169,127,.12);
}
.compact-heading{
  max-width:1900px;margin:0 auto 2px;padding:24px 18px 5px;border:0;
}
.compact-heading h1{font-size:22px}
.compact-heading p{margin-top:5px}

.pane{max-width:1540px;padding:18px 24px 42px}
.wrap{max-width:1900px;padding:14px 18px 32px;gap:16px}

/* Başlangıç görünümü */
.hero{
  min-height:calc(100vh - 68px);
  justify-content:flex-start;background:#123c3a;
}
.hero-bg{object-position:center 38%;filter:saturate(.8) contrast(1.03)}
.hero-scrim{
  background:
    linear-gradient(90deg,rgba(9,30,28,.92) 0%,rgba(9,30,28,.76) 42%,rgba(9,30,28,.22) 78%),
    linear-gradient(0deg,rgba(8,26,24,.72),transparent 48%);
}
.hero-inner{
  max-width:1260px;margin:0 auto;padding:72px 32px 54px;text-align:left;
}
.hero-badge{
  padding:6px 11px;border-radius:8px;background:rgba(218,240,234,.12);
  border-color:rgba(218,240,234,.23);font-size:10.5px;font-weight:750;
  letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(10px);
}
.hero-title{
  max-width:760px;margin:22px 0 12px;font-size:52px;line-height:1.02;
  letter-spacing:-.055em;text-shadow:0 6px 30px rgba(0,0,0,.26);
}
.hero-lead{
  max-width:620px;margin:0;color:#dce9e5;font-size:16px;line-height:1.65;
}
.hero-addr{
  margin:16px 0 44px;color:#b8cbc5;font-size:12px;letter-spacing:.035em;
  text-shadow:none;
}
.hero-cards{gap:12px}
.lcard{
  min-height:152px;align-items:flex-start;position:relative;gap:6px;
  padding:18px;border-radius:16px;text-align:left;
  background:rgba(248,252,250,.94);border:1px solid rgba(255,255,255,.62);
  color:#18302b;backdrop-filter:blur(16px);
  box-shadow:0 14px 36px rgba(5,27,24,.18);
}
.lcard:hover{
  transform:translateY(-3px);background:#fff;
  box-shadow:0 18px 44px rgba(5,27,24,.24);
}
.lc-ico{
  display:grid;place-items:center;width:28px;height:28px;border-radius:8px;
  background:#e6f2ee;color:var(--accent-strong);font-size:9px;
  font-weight:850;letter-spacing:.06em;
}
.lc-t{margin-top:6px;color:#18302b;font-size:15px}
.lc-d{color:#687a74;font-size:11.5px}
.lc-go{
  margin-top:auto;color:var(--accent-strong);font-size:11px;font-weight:750;
}

/* Ortak kartlar */
.card{
  padding:18px 20px;border-color:#dce5e1;border-radius:15px;
  background:#fff;box-shadow:none;
}
.card > h3{font-size:15px;letter-spacing:-.01em}
.card .desc{font-size:12.5px;line-height:1.55}
.card.info{
  position:relative;border-color:#cfe2dd;background:#f4faf8;
  padding-left:22px;
}
.card.info::before{
  content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;
  border-radius:0 4px 4px 0;background:var(--accent);
}
.card-kicker{
  margin-bottom:7px;color:#9a5c2c;font-size:10px;font-weight:800;
  letter-spacing:.13em;text-transform:uppercase;
}
.priority-card{
  display:grid;grid-template-columns:minmax(240px,.7fr) minmax(520px,1.3fr);
  column-gap:28px;align-items:start;
  border-color:#eadfce!important;background:#fdfaf5!important;
}
.priority-card .card-kicker,.priority-card h3,.priority-card .desc{grid-column:1}
.priority-card h3{color:#503e2c!important;font-size:16px}
.priority-card .prio{grid-column:2;grid-row:1 / span 4}
.prio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prio button{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:42px;padding:9px 11px;border-color:#eadfce;border-radius:10px;
  background:#fff;color:#463c32;font-size:11.5px;text-align:left;
}
.prio button::before{
  content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#c47c3b;
}
.prio button span{flex:1}
.prio button small{
  padding:3px 6px;border-radius:6px;background:#f6eee2;color:#895932;
  font-size:9.5px;font-weight:750;white-space:nowrap;
}
.prio button:hover{background:#fff;border-color:#d8bd97;box-shadow:0 4px 12px rgba(84,62,38,.06)}
.prio-bos{
  grid-column:1/-1;align-self:center;
  color:#8a7a68;font-size:12px;font-style:italic;
}

/* ---------- evrak süzgeç şeridi (tablonun başlık şeridi gibi) ---------- */
.filtre-serit{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0;padding:10px 14px;
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius) var(--radius) 0 0;
}
.filtre-serit .filtre-etiket{
  flex:0 0 auto;color:var(--accent);
  font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
}
.filtre-piller{
  flex:1 1 300px;min-width:0;
  display:flex;align-items:center;gap:6px;flex-wrap:nowrap;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  padding:5px 6px;border:1px solid #e3ebe8;border-radius:11px;background:#f5faf8;
}
.filtre-piller::-webkit-scrollbar{display:none}
.filtre-piller .fpill{min-height:32px;padding:6px 11px;background:#fff}
/* .filtre-piller .fpill beyaz zemin verdiği için seçili pilin dolgusu burada geri gelmeli;
   yoksa beyaz üstüne beyaz yazı çıkar ve "Tümü" pili boş görünür. */
.filtre-piller .fpill.on{
  background:var(--accent);border-color:var(--accent);color:#fff;
  box-shadow:0 2px 8px rgba(19,120,111,.24);
}
.filtre-piller.kisa{flex:0 0 auto}
/* süzgeç açılır listeleri (periyot / kaynak / güven) — pil şeridiyle aynı dil */
.filtre-sec{
  flex:0 1 auto;min-width:0;max-width:230px;
  min-height:32px;padding:6px 26px 6px 11px;
  border:1px solid #e3ebe8;border-radius:11px;background:#f5faf8;
  color:#42544f;font-size:11.5px;font-weight:650;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 49%,#62736e 50% 56%,transparent 57%),
                   linear-gradient(-45deg,transparent 49%,#62736e 50% 56%,transparent 57%);
  background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;
  background-size:6px 6px;background-repeat:no-repeat;
}
.filtre-sec:hover{border-color:#9cc9c2}
.filtre-sag{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto}
.filtre-sayac{color:var(--ink-soft);font-size:11.5px;font-weight:650;white-space:nowrap}
.filtre-temizle{min-height:32px;padding:6px 11px;font-size:11.5px}
/* şerit ile ilk bölüm başlığı birbirine yapışsın */
#evrakBody .docsec:first-child .dshead{
  border-top:0;border-top-left-radius:0;border-top-right-radius:0;
}

/* Mekân */
aside{
  border-color:#dce5e1;border-radius:15px;background:#fff;
  box-shadow:0 8px 24px rgba(23,53,46,.045);
}
aside h2{
  padding:15px 16px;color:#6b7a76;font-size:10px;letter-spacing:.12em;
}
.roomrow{padding:11px 14px;border-color:#eff3f1}
.roomrow:hover{background:#f3f8f6}
.roomrow .nm b{font-size:12.5px}
.roomrow .nm span{font-size:10.5px}
.dot{width:8px;height:8px;flex-basis:8px}
.cnt{background:#edf3f1;color:#64746f}
.cnt.has{background:#e3f1ed;color:#176a61}
.stage{
  padding:18px;border-color:#dce5e1;border-radius:15px;
  background:#fff;box-shadow:0 8px 24px rgba(23,53,46,.045);
}
.hot{border-radius:7px}
.hot:hover{border-color:var(--accent);background:rgba(19,120,111,.14)}

/* Evrak bölümleri ve tablo */
.docsec{
  margin-bottom:16px;border:1px solid #dae4e0;border-radius:15px;
  background:#fff;box-shadow:0 8px 24px rgba(23,53,46,.035);overflow:hidden;
}
.dshead{
  min-height:60px;padding:13px 16px;border:0;border-bottom:1px solid #e5ece9;
  background:#fafcfb;
}
.dshead h3{color:#263b36;font-size:13px}
.dshead .ratio{
  padding:4px 7px;border-radius:7px;background:#edf3f1;
  color:#62736e;font-size:10.5px;
}
.dshead .barline{max-width:300px;margin-left:auto}
.pbar{height:7px;background:#e7eeeb}
.pbar > i{background:var(--accent)}
.pbar.done > i{background:var(--ok)}
.dswrap{border:0;border-radius:0;background:#fff;box-shadow:none}
table.docs{min-width:1020px}
table.docs th{
  padding:10px 11px;border-color:#e8eeeb;background:#fff;color:#71807c;
  font-size:9.5px;letter-spacing:.08em;
}
table.docs td{
  padding:11px;border-color:#edf2f0;background:#fff;
}
table.docs tr.docrow:hover > td{background:#f8fbfa}
table.docs tr.docrow.acik-row > td{background:#eef7f4}
table.docs tr.docrow.acik-row .dnm b{color:var(--accent-strong)}
.twist{
  width:29px;height:29px;border:1px solid #bfd7d1;border-radius:9px;
  color:var(--accent);font-size:19px;background:#fff;
}
.twist:hover{background:#eaf5f2}
.twist.acik{background:var(--accent);border-color:var(--accent);color:#fff}
td.dnm b{
  display:flex;align-items:center;gap:7px;color:#263b36;
  font-size:12.5px;font-weight:700;
}
td.dnm .sub{margin-top:5px;color:#768681;font-size:10.5px}
.priority-mark{
  width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#bf654f;
  box-shadow:0 0 0 4px rgba(191,101,79,.10);
}
/* Öncelik aç/kapa düğmesi — her belge satırında var; öncelikli değilken soluk-boş */
.oncbtn{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex:0 0 28px;margin:-4px -3px -4px -7px;
  padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;
  transition:background .12s;
}
.oncbtn .priority-mark{
  background:transparent;box-shadow:inset 0 0 0 1.5px #c2cfcb;
  transition:background .12s,box-shadow .12s;
}
.oncbtn:hover{background:#eef4f2}
.oncbtn:hover .priority-mark{box-shadow:inset 0 0 0 1.5px #bf654f}
.oncbtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.oncbtn.on .priority-mark{
  background:#bf654f;box-shadow:0 0 0 4px rgba(191,101,79,.10);
}
.sonkim{padding:2px 6px;background:#eef3f1;color:#657570}
select.dsel{
  min-height:32px;border-radius:9px;padding:6px 8px;font-size:10.5px;
}
.d-yok{background:#faeeee;color:#953f3f;border-color:#edd4d4!important}
.d-sablon{background:#f1f4f3;color:#596a65;border-color:#dde5e2!important}
.d-taslak{background:#fcf4e8;color:#875329;border-color:#ebddc8!important}
.d-inceleme{background:#ebf3f7;color:#315e74;border-color:#d3e2e9!important}
.d-uzman{background:#f2eef8;color:#65507d;border-color:#e1d8ec!important}
.d-onay{background:#eaf5ee;color:#2f704f;border-color:#d2e6da!important}
table.docs input[type=text],table.docs input[type=date]{
  min-height:32px;padding:6px 7px;color:#40524d;
}
table.docs input:hover{border-color:#cfdcd7;background:#fff}
table.docs input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(19,120,111,.08)}
tr.docdet > td{
  padding:18px 18px 20px 54px;background:#f5faf8;
  box-shadow:inset 3px 0 0 var(--accent);
}
.detgrid{gap:14px}
.detbox{
  padding:14px;border:1px solid #dce7e3;border-radius:12px;background:#fff;
}
.detbox h4{margin-bottom:10px;color:#697a75;font-size:9.5px;letter-spacing:.1em}
ul.subs{gap:7px}
ul.subs li{padding-bottom:6px;border-bottom:1px solid #eef2f0}
ul.subs li:last-child{padding-bottom:0;border:0}
ul.subs li label{font-size:12px}
ul.subs li label.tick{color:#6e807a}
.govde-satir{min-height:57px}
.govde-satir .gv-lbl{color:#30433e}
.files-kutu{padding:14px}
.frow{min-height:40px;padding:6px 6px 6px 10px;border-color:#e0e8e5;border-radius:9px}
.frow .fnm{font-size:11.5px}
.frow .fbtn{
  width:auto;min-width:34px;height:28px;padding:0 8px;border-radius:7px;
  color:var(--accent-strong);font-size:10px;font-weight:700;
}
.nofile{padding:8px 0;color:#768681}
.empty{border-color:#dbe5e1;color:#71817c}

/* Kararlar ve tedarikçiler */
.blok{margin-bottom:28px}
.blok-bas{
  padding:0 0 10px;border-color:#d8e2de;color:#2d413c;
  font-size:12px;letter-spacing:.07em;text-transform:uppercase;
}
.kgrid{gap:14px}
.kcard{
  padding:16px;border:1px solid #dce5e1;border-left:3px solid #c28349;
  border-radius:13px;background:#fff;
}
.kcard h4{font-size:13.5px}
.kcard .knot{padding:8px 9px;border-radius:8px;background:#fbf4e9;color:#7a512f}
.kcard textarea,.kcard select{
  border-color:#d9e3df;border-radius:9px;background:#fbfcfc;
}
.kcard textarea:focus,.kcard select:focus{border-color:var(--accent);outline:0}
ul.kdone li{padding:10px 4px;border-color:#e7eeeb}
.tblwrap{
  overflow:hidden;border-color:#dce5e1;border-radius:15px;
  background:#fff;box-shadow:0 8px 24px rgba(23,53,46,.035);
}
table.sup th{
  padding:11px 10px;background:#fafcfb;border-color:#e6ece9;
  color:#71807c;font-size:9.5px;
}
table.sup td{padding:10px;border-color:#edf2f0}
table.sup tr:hover td{background:#f8fbfa}
table.sup input{min-height:32px}
table.sup select{min-height:32px;border-radius:9px;font-size:10.5px}

/* Modallar, giriş ve yardımcı */
.overlay{background:rgba(10,31,28,.52);backdrop-filter:blur(5px)}
.modal{border-radius:18px;box-shadow:0 28px 80px rgba(8,32,28,.28)}
.mhead{padding:18px 20px;border-color:#e1e9e6}
.mhead h3{font-size:18px}
.mbody{padding:20px}
.mfoot{padding:14px 20px;background:#f8faf9;border-color:#e1e9e6}
label.fld input,label.fld select,label.fld textarea{
  min-height:39px;border-color:#d8e2de;border-radius:9px;
}
fieldset{border-color:#dce5e1;border-radius:12px}
.giris-katman{
  background:
    radial-gradient(circle at 20% 0,rgba(107,171,151,.45),transparent 32rem),
    #123c3a;
}
.giris-kutu{border-radius:18px;box-shadow:0 28px 80px rgba(4,25,22,.34)}
.giris-logo{color:#173c37}

/* Masaüstünde başlığın sıkışmasını önle */
@media (max-width:1380px){
  .sumchip.sonuk{display:none}
  .brand-lockup{min-width:auto}
}
@media (max-width:1080px){
  .brand-copy{display:none}
  .brand-lockup{min-width:38px}
  .tabs.main button{padding:8px 10px}
  .priority-card{grid-template-columns:1fr}
  .priority-card .prio{grid-column:1;grid-row:auto;margin-top:8px}
}

@media screen and (max-width:760px){
  :root{--hdr:118px}
  .hdr-row.r1{min-height:60px;padding:8px 10px;gap:8px}
  .hdr-row.r2{min-height:54px;padding:7px 10px}
  .brand-mark{width:36px;height:36px;flex-basis:36px}
  .tabs.main{flex:1;overflow-x:auto}
  .tabs.main button{padding:8px 11px}
  .nav-key{display:none}
  .sum{display:none}
  #btnPrint{display:none}
  .ctx input[type=search]{min-width:210px;flex-basis:260px}
  .page-heading{align-items:flex-start;flex-direction:column;gap:12px;padding-top:12px}
  .page-heading h1{font-size:24px}
  .heading-note{white-space:normal}
  .compact-heading{padding:18px 12px 4px}
  .pane{padding:12px 12px 34px}
  .wrap{padding:10px 10px 28px}
  .priority-card{padding:16px}
  .prio{grid-template-columns:1fr}
  .hero-inner{padding:50px 18px 36px}
  .hero-title{font-size:38px}
  .hero-lead{font-size:14px}
  .hero-cards{grid-template-columns:repeat(2,1fr)}
}

@media screen and (max-width:600px){
  :root{--hdr:114px}
  body{font-size:13px}
  .hdr-row.r1{padding:7px 8px}
  .brand-mark{width:34px;height:34px;flex-basis:34px;border-radius:9px;font-size:10px}
  .tabs.main{padding:3px}
  .tabs.main button{padding:8px 10px;font-size:12px}
  .hdr-row.r1 > .ibtn{display:none}
  .kullanici-chip .ibtn{display:inline-flex}
  .ctx{min-width:max-content}
  .ctx input[type=search]{min-width:200px}
  .ctx .hint,.barline.dar{display:none}
  .fpill{min-height:38px;padding:9px 12px}
  .filtre-serit{gap:8px;padding:9px 10px}
  .filtre-piller{flex-basis:100%}
  .filtre-sec{flex:1 1 160px;max-width:none;min-height:36px}
  .filtre-piller .fpill{min-height:36px}
  .filtre-sag{width:100%;margin-left:0;justify-content:space-between}
  .btn.sm{min-height:38px;padding:9px 12px}
  .page-heading{margin-bottom:16px;padding-bottom:16px}
  .page-heading p{font-size:12.5px}
  .compact-heading h1{font-size:20px}
  .hero{min-height:calc(100vh - 60px)}
  .hero-scrim{
    background:linear-gradient(0deg,rgba(8,29,26,.94),rgba(8,29,26,.48));
  }
  .hero-inner{align-self:flex-end;padding:42px 14px 24px}
  .hero-title{margin-top:16px;font-size:32px}
  .hero-lead{line-height:1.55}
  .hero-addr{margin:12px 0 24px}
  .hero-cards{gap:8px}
  .lcard{min-height:126px;padding:13px;border-radius:13px}
  .lc-t{font-size:14px}
  .lc-d{font-size:10.5px}
  .lc-go{font-size:10px}
  .card{padding:15px}
  .priority-card h3{font-size:14px}
  table.docs tr.docrow{
    margin:10px 8px;padding:12px;border-color:#dce5e1;border-radius:12px;
    box-shadow:0 5px 15px rgba(23,53,46,.035);
  }
  td.tw{left:9px;top:11px}
  td.dnm{padding-left:34px}
  .oncbtn{width:32px;height:32px;flex-basis:32px}   /* dokunma hedefi */
  table.docs tr.docdet > td{padding:10px 8px 14px;box-shadow:none}
  .detbox{padding:12px}
  .dshead{padding:12px;min-height:56px}
  .dshead .barline{max-width:none}
  aside{border-color:#dce5e1}
  .stage{padding:8px}
  .tblwrap{border:0;background:transparent;overflow:visible}
  table.sup tr{
    margin-bottom:10px;padding:10px;border-color:#dce5e1;border-radius:12px;background:#fff;
    box-shadow:0 5px 15px rgba(23,53,46,.035);
  }
}

/* =====================================================================
   TÜM EKİPMAN LİSTESİ
   Mekân başlığındaki “Tümünü göster” düğmesi ve açtığı salt okunur döküm.
   ===================================================================== */
.heading-eylem{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.heading-eylem .btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.heading-eylem .btn svg{flex:0 0 auto;opacity:.7}

.modal.envmodal{
  max-width:1180px;display:flex;flex-direction:column;max-height:calc(100vh - 72px);
}
.envmodal .mhead{align-items:flex-start}
.envmodal .mhead .eyebrow{
  display:block;margin-bottom:5px;color:var(--accent);
  font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.envmodal .mhead h3{margin:0 0 3px}

/* --- özet şeridi: toplamlar, alınan oranı, durum kırılımı --- */
.envozet{
  display:flex;flex-wrap:wrap;gap:7px;align-items:center;
  padding:12px 20px;border-bottom:1px solid #e1e9e6;background:#f8faf9;
}
.envozet .sumchip{opacity:1;filter:none}
.envozet button.sumchip{font:inherit;cursor:pointer}
.envozet button.sumchip:hover{border-color:#9cc9c2;transform:translateY(-1px)}
.envozet button.sumchip.on{
  border-color:var(--accent);box-shadow:0 0 0 2px rgba(19,120,111,.12);
  opacity:1;filter:none;
}

/* --- araç satırı: durum süzgeci, gruplama, arama --- */
.envarac{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:10px 20px;border-bottom:1px solid #e1e9e6;background:#fff;
}
.envarac-et{
  margin-right:2px;color:var(--ink-soft);
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.envarac input[type=search]{
  flex:0 1 260px;min-width:210px;padding:7px 11px;font-size:12.5px;
  border:1px solid #d8e2de;border-radius:9px;background:#fff;
}
.envarac input[type=search]:focus{border-color:var(--accent);outline:0}

/* --- gövde: dar ekranda tablo kendi içinde yatay kayar --- */
.envgovde{flex:1;min-height:0;overflow:auto;padding:14px 20px 18px;background:#fff}
.envtwrap{overflow-x:auto;border:1px solid #e6ece9;border-radius:13px;background:#fff}
table.envt{width:100%;min-width:820px;border-collapse:collapse;font-size:12.5px}
table.envt thead th{
  text-align:left;padding:9px 10px;background:#fafcfb;border-bottom:1px solid #e6ece9;
  color:#71807c;font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
}
table.envt thead th.q{text-align:right}
table.envt tr.envgrp th{
  padding:8px 10px;background:#eef4f2;
  border-top:1px solid #dce7e3;border-bottom:1px solid #dce7e3;
}
.envgrp-in{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.envgrp-ad{font-size:12.5px;font-weight:800;color:#18302b}
.envgrp-alt{font-size:11px;font-weight:600;color:#6d7d78}
.envgrp-say{margin-left:auto;font-size:11px;font-weight:700;color:#48605a;white-space:nowrap}
table.envt td{padding:8px 10px;border-bottom:1px solid #edf2f0;vertical-align:top}
table.envt tbody tr:hover td{background:#f8fbfa}
table.envt td.q{
  width:62px;text-align:right;font-weight:700;color:#2d413c;font-variant-numeric:tabular-nums;
}
table.envt td.envad{font-weight:650;color:#18302b}
table.envt td.envnot{max-width:280px;color:#6d7d78}
.envoda{
  padding:0;border:0;background:transparent;cursor:pointer;text-align:left;
  font-family:inherit;font-size:12.5px;font-weight:700;color:var(--accent-strong);
  text-decoration:underline;text-decoration-color:rgba(24,48,43,.22);text-underline-offset:2px;
}
.envoda:hover{text-decoration-color:currentColor}
.envoda:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.envd{
  display:inline-block;padding:2px 9px;border:1px solid var(--line);border-radius:20px;
  background:#fff;color:var(--ink-soft);font-size:11px;font-weight:700;white-space:nowrap;
}
.envd.good{background:#edf7f1;border-color:#d5eadd;color:#286647}
.envd.warn{background:#fbf4e9;border-color:#eedfc7;color:#8b5729}
.envd.bad{background:#fbefef;border-color:#eed3d3;color:#8f3b3b}

/* --- sıralanabilir sütun başlıkları --- */
table.envt thead th.srt{cursor:pointer;user-select:none;white-space:nowrap}
table.envt thead th.srt:hover{background:#f1f6f4;color:#3d5e56}
table.envt thead th.srt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
table.envt thead th.srt.on{color:var(--accent-strong);background:#eef4f2}
.srt-ok{display:inline-block;margin-left:4px;font-size:10px;line-height:1}

/* --- ürüne göre görünüm --- */
table.envt.envurt{min-width:520px}
tr.envur{cursor:pointer}
tr.envur:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
tr.envur td{border-bottom:1px solid #edf2f0}
tr.envur.acik td{background:#f4f9f7}
tr.envur.tamam td{color:#7d8d89}
tr.envur.tamam td.envad{color:#5f716c;font-weight:600}
.envok{
  display:inline-block;width:0;height:0;margin-right:8px;vertical-align:middle;
  border-left:5px solid #9fb0ab;border-top:4px solid transparent;border-bottom:4px solid transparent;
  transition:transform .12s ease;
}
tr.envur.acik .envok{transform:rotate(90deg) translateX(1px)}
.envur-oda{margin-left:8px;font-size:10.5px;font-weight:700;color:#8a9a95;white-space:nowrap}
table.envt td.q.sonuk{color:#8a9a95;font-weight:600}
table.envt td.q.eksik{color:#8f3b3b;font-weight:800}
table.envt td.q.fiyat,table.envt th.q.fiyat{min-width:116px;color:#2d5f55}
table.envt td.q.fiyat.toplam{font-weight:850;color:var(--accent-strong)}
tr.envur.tamam td.q.eksik{color:#9fb0ab;font-weight:600}
table.envt td.ilr,table.envt th.ilr{width:130px;white-space:nowrap}
table.envt td.ilr .mini{
  display:inline-block;width:62px;height:6px;vertical-align:middle;
  background:rgba(0,0,0,.09);border-radius:4px;overflow:hidden;
}
table.envt td.ilr .mini > i{display:block;height:100%;background:#b6c3bf;border-radius:4px}
table.envt td.ilr .mini.good > i{background:#3f9070}
table.envt td.ilr .mini.warn > i{background:#d99a3d}
table.envt td.ilr .mini.bad  > i{background:#d6b9b9}
.envoran{margin-left:7px;font-size:11px;font-weight:700;color:#6d7d78;font-variant-numeric:tabular-nums}
table.envt tfoot th,table.envt tfoot td{
  padding:9px 10px;background:#f3f7f5;border-top:1px solid #dce7e3;
  font-size:12px;font-weight:800;color:#2d413c;text-align:left;
}
table.envt tfoot td.q{text-align:right;font-variant-numeric:tabular-nums}

/* --- ürün satırının oda dökümü --- */
tr.envdet > td{padding:0 0 10px;background:#f4f9f7;border-bottom:1px solid #e2ebe8}
.envdet-in{padding:0 10px 0 24px;overflow-x:auto}
table.envalt{width:100%;border-collapse:collapse;font-size:12px;background:#fff;
  border:1px solid #e2ebe8;border-radius:10px;overflow:hidden}
table.envalt th{
  text-align:left;padding:6px 9px;background:#fafcfb;border-bottom:1px solid #e6ece9;
  color:#71807c;font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
}
table.envalt th.q,table.envalt td.q{text-align:right;width:56px;font-variant-numeric:tabular-nums}
table.envalt td{padding:6px 9px;border-bottom:1px solid #f0f4f3;vertical-align:top;color:#3d4f4a}
table.envalt tr:last-child td{border-bottom:0}
.envalt-kat{margin-left:7px;font-size:10.5px;font-weight:600;color:#93a29e}

@media screen and (max-width:760px){
  .modal.envmodal{max-height:calc(100vh - 40px)}
  .envozet,.envarac{padding:10px 14px}
  .envgovde{padding:12px 14px 16px}
}
@media screen and (max-width:600px){
  .heading-eylem{width:100%}
  .heading-eylem .btn{width:100%;justify-content:center;min-height:40px}
  .modal.envmodal{max-height:calc(100vh - 20px)}
  .envozet,.envarac{padding:9px 12px}
  .envgovde{padding:10px 12px 14px}
  .envarac input[type=search]{flex:1 1 100%;min-width:0}
  .envtwrap{border-radius:11px}
  table.envt{min-width:660px;font-size:12px}
  table.envt.envurt{min-width:600px}
  table.envt td.ilr,table.envt th.ilr{width:106px}
  table.envt td.ilr .mini{width:42px}
  .envdet-in{padding-left:14px}
}

/* Ekipman listesi raporu tek sayfadan başlasın (özet + kırılım aynı sayfada). */
@media print{
  .rp-sec.ilk{page-break-before:avoid}
}

/* =====================================================================
   GİZLİ BÖLÜMLER
   app.js'teki GIZLI_BOLUMLER listesi ilgili düğmelere hidden özniteliği
   koyar. Bu öğelerde display tanımlı olduğu için tarayıcının [hidden]
   kuralı eziliyor; burada garantiye alınır. Ekranda ve yazdırmada geçerli.
   ===================================================================== */
.tabs.main button[hidden],
.hero-cards .lcard[hidden],
.ctx .btn[hidden],
#btnOdaBelge[hidden]{display:none !important}

/* =====================================================================
   ÜRÜN KATALOĞU
   Ürünler bölümü listesi, ürün modalı, kaleme ürün bağlama ve oda
   kartındaki katalog düğmesi. Mevcut .btn/.fpill/.mini dilini sürdürür.
   ===================================================================== */

/* Ürün katmanları oda kartının ÜSTÜNDE durmalı (oda kartı DOM'da sonra). */
#urunOverlay,#urunSecOverlay,#teklifOverlay{z-index:260}

/* Gözden geçirme şeridi — tek satır; onay bekleyen yoksa hiç çizilmez. */
.onay-serit{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 10px;padding:9px 14px;font-size:12.5px;font-weight:650;
}
.onay-serit[hidden]{display:none}
.onay-serit .btn{margin-left:auto}

/* ---------- Ürünler listesi ---------- */
.urunwrap{
  overflow-x:auto;border:1px solid var(--line);
  border-radius:0 0 var(--radius) var(--radius);
  background:var(--panel);box-shadow:var(--shadow);
}
table.urunt{width:100%;min-width:940px;border-collapse:collapse;font-size:12.5px}
table.urunt thead th{
  position:sticky;top:0;z-index:1;
  padding:9px 10px;text-align:left;background:#f3f8f6;border-bottom:1px solid #e3ebe8;
  font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5c6f6a;
  white-space:nowrap;
}
table.urunt thead th.q{text-align:right}
table.urunt thead th.srt{cursor:pointer;user-select:none}
table.urunt thead th.srt:hover{background:#eaf2ef;color:#3d5e56}
table.urunt thead th.srt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
table.urunt thead th.srt.on{color:var(--accent);background:#eaf2ef}
table.urunt td{padding:8px 10px;border-bottom:1px solid #edf2f0;vertical-align:top}
table.urunt tbody tr:hover td{background:#f8fbfa}
table.urunt td.q{
  text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:#334742;
}
table.urunt td.q.alnk{color:#8f3b3b;font-weight:800}
table.urunt td.urkat,table.urunt th.urkat{white-space:nowrap;color:var(--ink-soft);font-size:11.5px}
table.urunt td.urad{min-width:230px;max-width:420px}
table.urunt td.urad b{font-weight:700;color:#18302b}
table.urunt td.urad .sub{margin-top:2px;font-size:11px;color:#7a8a86}
table.urunt td.urad input{width:100%}
table.urunt td.q input[type=number]{
  width:74px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;
  border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:#fff;color:var(--ink);
}
table.urunt td.q input[type=number]:hover{border-color:#9cc9c2}
table.urunt td.q input[type=number]:focus{
  border-color:var(--accent);outline:0;box-shadow:0 0 0 3px rgba(19,120,111,.10);
}
table.urunt tfoot th,table.urunt tfoot td{
  padding:9px 10px;border-top:1px solid #dde7e3;background:#f6faf8;
  font-weight:800;color:#2a423c;white-space:nowrap;
}
table.urunt tfoot td.q{text-align:right;font-variant-numeric:tabular-nums}
table.urunt tfoot th{text-align:left}
table.urunt tr.onaybekler td{background:#fffaf1}
table.urunt tr.onaybekler:hover td{background:#fdf5e7}
table.urunt tr.tutarsiz td.urad b{color:#8f3b3b}
td.urac,th.urac{white-space:nowrap;text-align:right;width:1%}
td.urac .btn{margin-left:5px}
td.urac .del{margin-left:5px}

/* ---------- daraltılmış ürün tablosu + satır ayrıntısı ---------- */
table.urunt.dar{min-width:0}
.urgen{
  display:inline-flex;align-items:center;gap:2px;max-width:100%;
  padding:0;border:0;background:transparent;cursor:pointer;text-align:left;
  font-family:inherit;font-size:12.5px;color:inherit;
}
.urgen b{font-weight:700;color:#18302b}
.urgen:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}
tr.acik .urgen .envok{transform:rotate(90deg) translateX(1px)}
.onaydug{margin-left:8px;vertical-align:1px}
tr.urdet > td{padding:0 0 10px;background:#f4f9f7;border-bottom:1px solid #e2ebe8}
.urdet-in{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 18px;
  padding:10px 12px 4px 26px;
}
.urd{display:flex;flex-direction:column;gap:1px;min-width:78px}
.urd.genis{flex:1 1 240px}
.urd i{
  font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.5px;
  text-transform:uppercase;color:#8a9a95;
}
.urd b{font-size:12px;font-weight:700;color:#2d413c}
.urd-eylem{display:flex;align-items:center;gap:6px;margin-left:auto}
.envdet-say{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 2px 8px}

.uruyari{
  display:inline-block;margin-left:7px;padding:1px 7px;border-radius:20px;
  background:#fbefef;border:1px solid #eed3d3;color:#8f3b3b;
  font-size:10px;font-weight:800;white-space:nowrap;vertical-align:1px;
}
.uruyari[hidden]{display:none}
.uronay{
  display:inline-block;margin-left:7px;padding:1px 7px;border-radius:20px;
  background:#fbf4e9;border:1px solid #eedfc7;color:#8b5729;
  font-size:10px;font-weight:800;white-space:nowrap;vertical-align:1px;
}
.urfazla{
  display:inline-block;margin-left:7px;padding:0 6px;border-radius:20px;
  background:#eef4f2;border:1px solid #dde7e3;color:#4f6660;
  font-size:10px;font-weight:750;white-space:nowrap;
}
.urfazla[hidden]{display:none}
.urgerekce{
  margin-top:5px;padding:6px 9px;border-left:3px solid #e0c79a;border-radius:0 7px 7px 0;
  background:#fdf7ec;color:#6f5b3c;font-size:11.5px;line-height:1.5;
}

/* ---------- ürün modalı: önerilen oda tipleri ---------- */
.otipfld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-soft);font-weight:600}
.otip-liste{
  display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto;
  padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;
}
.otip-liste label{
  display:inline-flex;align-items:center;gap:5px;padding:4px 9px;
  border:1px solid var(--line);border-radius:20px;background:#fff;
  font-size:11.5px;font-weight:650;color:var(--ink-soft);cursor:pointer;white-space:nowrap;
}
.otip-liste label:hover{border-color:#9cc9c2}
.otip-liste input{margin:0}
.otip-liste input:checked + span{color:var(--accent-strong)}
.otip-liste label:has(input:checked){background:var(--accent-soft);border-color:#9cc9c2}

/* ---------- ürün modalı ---------- */
.urunmodal-uyari{
  margin-top:12px;padding:8px 11px;border-radius:8px;
  background:#fbefef;border:1px solid #eed3d3;color:#8f3b3b;
  font-size:12.5px;font-weight:600;
}
.urunmodal-uyari[hidden]{display:none}

/* ---------- satın alma / çoklu teklif karşılaştırması ---------- */
.ur-satinalma{
  margin:8px 12px 4px 26px;border:1px solid #dce8e4;border-radius:12px;
  background:#fff;overflow:hidden;
}
.ur-satinalma-bas{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border-bottom:1px solid #e8efed;background:#fbfdfc;
}
.ur-satinalma-bas .eyebrow{display:block;margin-bottom:2px;font-size:9px;color:#81918c}
.ur-satinalma-bas h4{margin:0;font-size:13px;color:#203b34}
.ur-satinalma-eylem{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.satinalma-rozet{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:10.5px;font-weight:800;white-space:nowrap;
}
.satinalma-rozet.dogrudan{background:#e8f5f1;color:#246a5e;border:1px solid #cde6df}
.satinalma-rozet.teklif{background:#fbf2e5;color:#875724;border:1px solid #ecd9b9}
.teklif-bos{padding:14px;color:#647670;font-size:12px;line-height:1.55}
.teklif-tercih-ozet{
  display:grid;grid-template-columns:1.4fr repeat(3,minmax(105px,1fr));gap:1px;
  background:#dfeae6;border-bottom:1px solid #dfeae6;
}
.teklif-tercih-ozet>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#f1f8f5}
.teklif-tercih-ozet span{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#7b8d87}
.teklif-tercih-ozet b{font-size:12px;color:#24423a;font-variant-numeric:tabular-nums}
.teklif-liste{display:flex;flex-direction:column}
.teklif-satir{
  display:grid;grid-template-columns:28px minmax(170px,1fr) minmax(130px,.65fr) auto auto;
  align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #edf2f0;
}
.teklif-satir:last-child{border-bottom:0}
.teklif-satir.tercih{background:#fbfefc}
.teklif-yildiz{border:0;background:transparent;color:#9aa9a4;font-size:19px;cursor:pointer;padding:2px}
.teklif-satir.tercih .teklif-yildiz{color:#c18b27}
.teklif-yildiz:focus-visible{outline:2px solid var(--accent);border-radius:5px}
.teklif-ana,.teklif-fiyat{display:flex;flex-direction:column;gap:2px;min-width:0}
.teklif-ana b,.teklif-fiyat b{font-size:12px;color:#263f39;overflow:hidden;text-overflow:ellipsis}
.teklif-ana span,.teklif-fiyat span{font-size:10.5px;color:#778883}
.teklif-fiyat b{font-variant-numeric:tabular-nums}

.modal.teklifmodal{max-width:780px}
.teklifmodal .mbody{display:flex;flex-direction:column;gap:12px}
.teklifmodal .grid{gap:10px}
.yeni-satici{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed #bcd4cd;border-radius:10px;background:#f7fbf9}
.yeni-satici[hidden]{display:none}
.check-sat{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:var(--ink-soft)}
.check-sat input{margin:0}
.tercih-check{padding:10px 12px;border-radius:9px;background:#f8f5ec;border:1px solid #e9dfc7;color:#69572f}

@media(max-width:700px){
  .ur-satinalma{margin-left:10px;margin-right:10px}
  .ur-satinalma-bas{align-items:flex-start;flex-direction:column}
  .ur-satinalma-eylem{justify-content:flex-start}
  .teklif-tercih-ozet{grid-template-columns:1fr 1fr}
  .teklif-satir{grid-template-columns:26px 1fr auto}
  .teklif-satir .teklif-fiyat{grid-column:2}
  .teklif-satir>a,.teklif-satir>button.btn{grid-row:2}
}

/* ---------- kaleme ürün bağlama ---------- */
#urunSecOverlay .mbody input[type=search]{
  width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;
  background:#fff;font-size:13px;color:var(--ink);
}
#urunSecOverlay .mbody input[type=search]:focus{
  border-color:var(--accent);outline:0;box-shadow:0 0 0 3px rgba(19,120,111,.10);
}
.urunsec-liste{
  margin-top:10px;max-height:46vh;overflow-y:auto;
  border:1px solid var(--line);border-radius:10px;background:#fff;
}
.urunsec-sat{
  display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;
  padding:9px 12px;border:0;border-bottom:1px solid #f0f4f3;background:transparent;
  cursor:pointer;font:inherit;color:var(--ink);
}
.urunsec-sat:last-child{border-bottom:0}
.urunsec-sat:hover{background:#f4f9f7}
.urunsec-sat:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.urunsec-sat.on{background:var(--accent-soft)}
.urunsec-sat .us-ad{font-size:13px;font-weight:650;color:#18302b}
.urunsec-sat .us-alt{font-size:11px;color:#7a8a86}

/* Oda kartındaki kalem adı + sessiz katalog bağlantısı */
.kalem-ad-satir{display:flex;align-items:center;gap:6px;min-width:230px}
.kalem-ad-satir>input{flex:1;min-width:0}
.urunbag{
  display:inline-flex;align-items:center;justify-content:center;max-width:100%;
  border:1px dashed var(--line);border-radius:7px;background:#fbfdfc;
  padding:3px 8px;cursor:pointer;font:inherit;font-size:11px;font-weight:650;
  color:var(--ink-soft);text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.urunbag:hover{border-color:var(--accent);color:var(--accent);background:#f2f9f7}
.urunbag:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.urunbag.bagli{
  border-style:solid;border-color:#cfe3dd;background:#eef7f4;color:#2f5a51;
}
.urunbag.ikon{
  width:32px;height:32px;flex:0 0 32px;padding:0;border-radius:9px;
  font-size:20px;line-height:1;font-weight:500;
}
.urunbag.bagla{margin-top:4px;border-color:#e5d6bd;background:#fffaf1;color:#8b5729}
.urunbag-bilgi{
  margin-top:4px;color:var(--ink-soft);font-size:10.5px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.urunbag-bilgi.gizli{display:none}
.envbagsiz{
  display:inline-block;margin-left:7px;padding:0 6px;border-radius:20px;
  background:#fbf4e9;border:1px solid #eedfc7;color:#8b5729;
  font-size:10px;font-weight:750;white-space:nowrap;
}

/* Kalem tablosu artık daha geniş — kendi kabında yatay kayar. */
#itemsWrap{overflow-x:auto}
table.items{min-width:820px}
table.items td.qty input{width:72px}

@media screen and (max-width:1080px){
  table.urunt{min-width:900px}
  table.urunt.dar{min-width:0}
}
@media screen and (max-width:600px){
  .urunwrap{border-radius:0 0 11px 11px}
  table.urunt{min-width:0;font-size:12px}
  table.urunt thead,table.urunt tfoot{display:none}
  table.urunt,table.urunt tbody,table.urunt tr,table.urunt td{display:block;width:auto}
  table.urunt tr{
    border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin:0 0 10px;background:#fff;
  }
  table.urunt tr.onaybekler{border-color:#eedfc7;background:#fffaf1}
  table.urunt td{border:0;padding:3px 0;display:flex;align-items:center;gap:8px}
  table.urunt td::before{
    content:attr(data-label);flex:0 0 108px;font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;color:var(--ink-soft);font-weight:700;
  }
  table.urunt td.urad{display:block;max-width:none}
  table.urunt td.urad::before{display:none}
  table.urunt td.q{justify-content:flex-start}
  table.urunt td.urac{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding-top:8px}
  table.urunt td.urac::before{display:none}
  td.urac .btn,td.urac .del{margin-left:0}
  table.urunt tr.urdet{border:0;padding:0;margin:-6px 0 10px;background:transparent}
  table.urunt tr.urdet td{display:block;padding:0;border:0;background:transparent}
  table.urunt tr.urdet td::before{display:none}
  .urdet-in{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f4f9f7}
  .urd-eylem{margin-left:0;width:100%;justify-content:flex-end}
  .urunsec-liste{max-height:40vh}
  table.items{min-width:0}
  #itemsWrap{overflow-x:visible}
}

/* =====================================================================
   BÜTÇE — BARNET açılış bütçesi
   Yeni renk/rozet sınıfı üretilmez: güven rozetleri .badge + mevcut durum
   sınıflarını (b-recv / b-order / d-yok) yeniden kullanır.
   ===================================================================== */
.butce-ozet{
  gap:8px;padding:12px 14px;margin-bottom:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
}
.butce-ozet .sumchip{font-size:12.5px;padding:6px 13px}
.butce-ozet .sumchip b{font-size:14px}
.butce-ozet .sum-label{color:var(--ink-soft);font-weight:700}

.butce-bolum{margin-bottom:18px}
.butce-bolum .dshead{border-radius:var(--radius) var(--radius) 0 0}
.butce-bolum .tblwrap{border-radius:0}
.butce-bolum.gelir .dshead{background:#f7faff;border-color:#cfe0fb}
.butce-bolum.gelir .dshead h3{color:#12437f}

/* seçili sayfanın başlığı ve toplamı — bölüm kutularıyla aynı dil */
.butce-sayfa-basi{margin:0 0 18px}
.butce-sayfa-basi .dshead{border-radius:var(--radius) var(--radius) 0 0}
.butce-sayfa-basi .butce-ara{background:#f3f8f6;border-color:#d9e8e3}

.butce-ara{
  border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);
  background:#fafbfc;padding:8px 13px;font-size:12.5px;color:var(--ink-soft);
}
.butce-ara b{color:var(--ink)}
.butce-ara.gelir{background:#f7faff;border-color:#cfe0fb;color:#12437f}
.butce-ara.gelir b{color:#12437f}
.butce-tasarruf{color:#12684a}
.butce-tasarruf b{color:#0e5a40}

table.sup.butce{min-width:1240px}
table.sup.butce td.butce-say input{text-align:right}
/* Adet ve Birim fiyat sütunları: rakamlar kırpılmadan görünsün.
   Sayı okunurluğu için artırıcı/azaltıcı oklar gizlenir (davranış aynı). */
table.sup.butce th.butce-adet-b,
table.sup.butce td.butce-adet{width:92px;min-width:92px}
table.sup.butce th.butce-fiyat-b,
table.sup.butce td.butce-fiyat{width:132px;min-width:132px}
table.sup.butce th.butce-adet-b,
table.sup.butce th.butce-fiyat-b{text-align:right}
table.sup.butce td.butce-say input[type=number]{-moz-appearance:textfield;appearance:textfield}
table.sup.butce td.butce-say input[type=number]::-webkit-outer-spin-button,
table.sup.butce td.butce-say input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
table.sup.butce td.butce-tutar{text-align:right;white-space:nowrap}
table.sup.butce td.butce-dahil{text-align:center}
table.sup.butce td.butce-dahil input{width:auto;cursor:pointer}
table.sup.butce tr.butce-disari{opacity:.45}
table.sup.butce tr.butce-disari td.butce-tutar{text-decoration:line-through}
table.sup.butce td.sup-hiz a{color:var(--accent);text-decoration:none}
table.sup.butce td.sup-hiz a:hover{text-decoration:underline}
.butce-turetilmis{margin-left:6px;cursor:help}

@media screen and (max-width:600px){
  table.sup.butce{min-width:0}
  table.sup.butce td.butce-adet,
  table.sup.butce td.butce-fiyat{width:auto;min-width:0}
  table.sup.butce td.butce-dahil{text-align:left}
  table.sup.butce td.butce-say input{text-align:left}
  table.sup.butce td.butce-tutar{text-align:left}
}

/* =====================================================================
   BÜTÇE — YÖNETİCİ ÖZETİ
   Dışarıya verilecek görünüm. Kurumsal kimlik renkleri (rapor üreticisiyle
   aynı palet). Kırılım KATEGORİ seviyesindedir; kalem listesi yoktur.
   Ekseni SAYFA değil BÖLÜM'dür — hiçbir kalem iki kez sayılmaz.
   ===================================================================== */
.yonetici{
  --yo-navy:#16343D; --yo-teal:#0B8B7F; --yo-mint:#EAF6F3; --yo-pale:#F5F8F8;
  --yo-ink:#1E2B2F; --yo-muted:#607176; --yo-line:#D8E2E2;
  --yo-amber:#A96605; --yo-red:#A53A3A;
  color:var(--yo-ink);
}
.yonetici .yo-bas{
  background:var(--yo-navy);color:#fff;border-radius:var(--radius);
  padding:16px 18px;margin:0 0 12px;
}
.yonetici .yo-bas h2{margin:0 0 3px;font-size:19px;line-height:1.25;letter-spacing:.2px}
.yonetici .yo-alt{font-size:12.5px;color:#B9D2CE}
.yonetici .yo-kdv{
  display:flex;align-items:center;gap:10px;margin-top:10px;
  font-size:12.5px;color:#EAF6F3;flex-wrap:wrap
}
.yonetici .yo-kdv .btn{background:transparent;border-color:#3D5C63;color:#fff}
.yonetici .yo-kdv .btn.on{background:var(--yo-teal);border-color:var(--yo-teal)}

.yonetici .yo-kartlar{
  display:grid;gap:10px;margin:0 0 16px;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
}
.yonetici .yo-kart{
  background:var(--panel);border:1px solid var(--yo-line);border-left:4px solid var(--yo-teal);
  border-radius:var(--radius);padding:11px 13px;display:flex;flex-direction:column;gap:2px;
}
.yonetici .yo-kart b{font-size:21px;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--yo-navy)}
.yonetici .yo-k-et{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--yo-muted);font-weight:700}
.yonetici .yo-k-alt{font-size:11.5px;color:var(--yo-muted)}
.yonetici .yo-kart.vurgu{background:var(--yo-mint);border-left-color:var(--yo-navy)}
.yonetici .yo-kart.vurgu b{font-size:24px}
.yonetici .yo-kart.iyi{border-left-color:var(--yo-teal)}
.yonetici .yo-kart.iyi b{color:var(--yo-teal)}
.yonetici .yo-kart.uyari{border-left-color:var(--yo-amber)}
.yonetici .yo-kart.uyari b{color:var(--yo-amber)}

.yonetici .yo-blok{margin:0 0 18px}
.yonetici .yo-blok > h3{
  margin:0 0 3px;font-size:14px;color:var(--yo-navy);
  border-bottom:2px solid var(--yo-teal);padding-bottom:5px;
}
.yonetici .yo-say{font-size:11.5px;color:var(--yo-muted);font-weight:400}
.yonetici .yo-blok > p.yo-say{margin:4px 0 9px}

table.yo-tbl{
  width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--yo-line);border-radius:var(--radius);overflow:hidden;font-size:13px;
}
table.yo-tbl th{
  background:var(--yo-pale);color:var(--yo-navy);text-align:left;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;padding:7px 9px;border-bottom:1px solid var(--yo-line);
}
table.yo-tbl td{padding:6px 9px;border-bottom:1px solid #EEF3F3;vertical-align:middle}
table.yo-tbl tbody tr:last-child td{border-bottom:0}
table.yo-tbl td.r,table.yo-tbl th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
table.yo-tbl tfoot th{
  background:var(--yo-mint);border-top:2px solid var(--yo-navy);border-bottom:0;
  font-size:12px;text-transform:none;letter-spacing:0;
}
table.yo-tbl.kat{border:0;border-radius:0;font-size:12.5px}
table.yo-tbl.kat th{background:transparent;border-bottom:1px solid var(--yo-line)}

.yonetici details.yo-kat{
  background:var(--panel);border:1px solid var(--yo-line);border-radius:var(--radius);
  margin:0 0 7px;overflow:hidden;
}
.yonetici details.yo-kat > summary{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;
  padding:9px 12px;background:var(--yo-pale);list-style:none;
}
.yonetici details.yo-kat > summary::-webkit-details-marker{display:none}
.yonetici details.yo-kat > summary::before{
  content:"▸";color:var(--yo-teal);font-size:13px;flex:0 0 auto;
}
.yonetici details.yo-kat[open] > summary::before{content:"▾"}
.yonetici details.yo-kat[open] > summary{border-bottom:1px solid var(--yo-line)}
.yonetici .yo-kat-ad{font-weight:700;color:var(--yo-navy)}
.yonetici .yo-kat-tut{margin-left:auto;font-weight:700;color:var(--yo-navy);font-variant-numeric:tabular-nums}
.yonetici details.yo-kat table{margin:0}

.yonetici .yo-kutu{
  border:1px solid var(--yo-line);border-left:4px solid var(--yo-amber);
  background:#FBF6EE;border-radius:var(--radius);padding:12px 14px;
}
.yonetici .yo-kutu h4{margin:0 0 5px;font-size:13.5px;color:var(--yo-amber)}
.yonetici .yo-kutu p{margin:0;font-size:13px;line-height:1.5}
.yonetici .yo-bel{display:flex;flex-wrap:wrap;gap:16px;margin-top:11px}
.yonetici .yo-bel-r{display:flex;flex-direction:column;min-width:120px}
.yonetici .yo-bel-r b{font-size:18px;color:var(--yo-navy);font-variant-numeric:tabular-nums}
.yonetici .yo-bel-r span{font-size:11.5px;color:var(--yo-muted)}

ul.yo-varsayim{margin:6px 0 0;padding:0 0 0 18px;font-size:13px;line-height:1.55}
ul.yo-varsayim li{margin:0 0 4px}
ul.yo-varsayim li b{color:var(--yo-navy)}

@media screen and (max-width:600px){
  .yonetici .yo-kat-tut{margin-left:0;width:100%}
  table.yo-tbl{font-size:12px}
  table.yo-tbl th,table.yo-tbl td{padding:5px 6px}
}

/* ---------- yönetici özeti yazdırma (A4 dikey, kırılım tamamen açık) ---------- */
@media print{
  /* Anahtarlar, açılır oklar ve araç çubukları basılmaz — rapor #report'tan çıkar. */
  #btnButceGorunum,#btnYoKdv,.yo-kdv{display:none !important}
  .rp-kpi.yo-kpi > div{width:16.6%;padding:5px 4px}
  .rp-kpi.yo-kpi b{font-size:12pt}
  .rp-kat{page-break-inside:avoid;margin:0 0 10px}
  .rp-kat h3{font-size:10.5pt;margin:0 0 3px;color:#16343D;border-bottom:1px solid #0B8B7F;padding-bottom:2px}
  table.yo-tbl.rp-tbl{page-break-inside:avoid;font-size:8.5pt;border-radius:0}
  table.yo-tbl.rp-tbl th{background:#EAF6F3;color:#16343D}
  table.yo-tbl.rp-tbl tfoot th{background:#EAF6F3;border-top:1.5px solid #16343D}
  ul.yo-varsayim{font-size:9pt}
  ul.yo-varsayim li{page-break-inside:avoid}
  .rp-head h1{color:#16343D}
  .rp-sec > h2{background:#EAF6F3;border-left-color:#0B8B7F;color:#16343D}
}
