/* ══════════════════════════════════════════════════════════════
   İş Takip Listesi
   Ekranda kontrol paneli, tutanakta antetli evrak.
   Birim: tarihli log satırı.

   RENK SÖZLEŞMESİ
   • Kişi/taraf renkleri (PALETTE, app.js) satır içi style ile gelir —
     bir kişinin rengi zaman çizelgesinde, defterde ve dökümde aynıdır.
   • Durum renkleri (--s-fg/--s-bg/--s-dot) temadan bağımsızdır: anlam taşır.
   • --late yalnızca hedef bitiş aşımı içindir, başka hiçbir yerde kullanılmaz.
   ══════════════════════════════════════════════════════════════ */

:root{
  --paper:      #EEF2F4;
  --surface:    #FFFFFF;
  --surface-2:  #F7F9FA;
  --rule:       #DAE2E6;
  --rule-soft:  #E8EEF0;
  --text:       #14232C;
  --muted:      #62798A;   /* beyaz üstünde 4.5:1 — bilgi taşıyan küçük metin */
  --muted-2:    #7A8F9C;   /* dekoratif: ayraç, ikincil işaret */

  --signal:      #B26A00;  /* "bu hafta değişti" */
  --signal-wash: #FBF0DC;
  --late:        #C0392B;  /* hedef bitiş aşımı */
  --late-wash:   #FBE7E4;
  --plan:        #C3D0D6;  /* planlanan aralık çerçevesi */

  --font-display:"Bahnschrift","Segoe UI Semibold","Franklin Gothic Medium","Arial Narrow",sans-serif;
  --font-body:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"Cascadia Mono","Consolas",ui-monospace,"SF Mono",Menlo,monospace;

  --r: 3px;
  --shadow: 0 1px 2px rgba(12,31,44,.06), 0 8px 24px -12px rgba(12,31,44,.18);
  --tl-w: 360px;
  --stick-top: 122px;
}

/* ─────────── temalar (müşteri profiline göre) ─────────── */
body[data-theme="default"]{ --ink:#0C1F2C; --ink-2:#14303F; --ink-line:#24485C;
  --accent:#0E7C8A; --accent-deep:#0A5C66; --accent-wash:#E4F2F3; }
body[data-theme="blue"]{ --ink:#0E2039; --ink-2:#17304F; --ink-line:#2C4A6E;
  --accent:#1D5FA8; --accent-deep:#164A83; --accent-wash:#E6EFF9; }
body[data-theme="red"]{ --ink:#2A1215; --ink-2:#3E1D22; --ink-line:#5C3037;
  --accent:#AE3A3A; --accent-deep:#8A2A2A; --accent-wash:#FAE9E9; }
body[data-theme="orange"]{ --ink:#2B1A0B; --ink-2:#3E2711; --ink-line:#5E3D1B;
  --accent:#BC630F; --accent-deep:#944D0B; --accent-wash:#FCEEDD; }

/* durum renkleri temadan bağımsız
   --s-bg  : çip/rozet dolgusu
   --s-row : satır zemini — daha soluk, metin üstünde okunur kalsın diye */
[data-status="Devam ediyor"]{ --s-fg:#0B5E8F; --s-bg:#E2EFF8; --s-dot:#1481C4; --s-row:#F2F8FC; }
[data-status="Beklemede"]   { --s-fg:#8A5600; --s-bg:#FBEFD8; --s-dot:#C98A12; --s-row:#FDF7EA; }
[data-status="Tamamlandı"]  { --s-fg:#146544; --s-bg:#DCEFE4; --s-dot:#1C8556; --s-row:#ECF7F1; }
[data-status="Planlandı"]   { --s-fg:#414F6B; --s-bg:#E8ECF3; --s-dot:#68789A; --s-row:#F4F6FA; }
[data-status="İptal"]       { --s-fg:#8C2F3A; --s-bg:#F8E2E4; --s-dot:#B8515C; --s-row:#FCF2F3; }

/* öncelik: aciliyet merdiveni. Satır zeminini DURUM belirler; öncelik sol
   kenardan ve çipten okunur, böylece tamamlanmış acil bir iş de yeşil kalır. */
[data-pri="Acil"]   { --p-fg:#FFFFFF; --p-bg:#B3261E; --p-line:#B3261E; }
[data-pri="Kritik"] { --p-fg:#8C2F3A; --p-bg:#F8DDDF; --p-line:#C0575F; }
[data-pri="Yüksek"] { --p-fg:#8A5600; --p-bg:#FBEFD8; --p-line:#C98A12; }
[data-pri="Normal"] { --p-fg:#5A7080; --p-bg:#EFF3F5; --p-line:#C3D0D6; }
[data-pri="Düşük"]  { --p-fg:#6F8493; --p-bg:#F4F7F8; --p-line:#DCE4E8; }

*{ box-sizing:border-box; }
html,body{ margin:0; }
body{ background:var(--paper); color:var(--text); font:15px/1.55 var(--font-body); -webkit-font-smoothing:antialiased; }
button,input,select,textarea{ font:inherit; color:inherit; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.dim{ color:var(--muted-2); }
.mono{ font-family:var(--font-mono); }

/* ─────────── giriş ve ortak çalışma durumu ─────────── */
body.auth-locked > :not(#authGate):not(#toast){ display:none !important; }
body:not(.auth-locked) > #authGate{ display:none; }
.auth-gate{
  min-height:100vh; display:grid; place-items:center; padding:28px;
  background:
    radial-gradient(circle at 20% 12%, rgba(14,124,138,.17), transparent 34%),
    linear-gradient(145deg,#091923,#14303f 55%,#0c1f2c);
}
.auth-card{
  width:min(520px,100%); background:#fff; padding:34px 36px 30px;
  border-radius:8px; box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.auth-mark{ width:44px; height:5px; background:#0e7c8a; margin-bottom:22px; }
.auth-kicker{ margin:0 0 4px; color:#0a5c66; font:700 12px/1.4 var(--font-display); letter-spacing:.13em; }
.auth-card h1{ margin:0; color:#0c1f2c; font:700 32px/1.2 var(--font-display); }
.auth-copy{ color:#62798a; margin:10px 0 22px; }
.auth-form{ display:grid; gap:14px; }
.auth-form .btn{ min-height:43px; }
.auth-otp input[name="token"]{ font:700 24px/1 var(--font-mono); letter-spacing:.32em; text-align:center; }
.auth-setup{ background:#f4f7f8; border-left:4px solid #b26a00; padding:13px 16px; color:#314956; }
.auth-setup p{ margin:0 0 8px; }
.auth-setup ol{ margin:0; padding-left:20px; }
.auth-setup code{ font:12px/1.4 var(--font-mono); }
.auth-status{ min-height:22px; margin:14px 0 0; color:#0a5c66; }
.auth-status.is-error{ color:#a32f25; }
.legacy-export{ margin-top:14px; width:100%; }

.sessionbar{ margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; font-size:12px; }
.sync-state{ color:#b8cbd3; white-space:nowrap; }
.sync-state.is-saving{ color:#f3cf8c; }
.sync-state.is-ok{ color:#a6dbc2; }
.sync-state.is-error{ color:#ffb4ac; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.role-badge{ padding:2px 7px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#fff; white-space:nowrap; }
.session-email{ max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#b8cbd3; }
.session-out{ border:0; background:transparent; color:#dce7ec; padding:2px 4px; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.auth-card .session-out{ color:#0a5c66; }

.access-form{ display:grid; grid-template-columns:minmax(190px,1fr) 170px auto; gap:8px; align-items:end; margin:14px 0 18px; }
.access-form .field{ margin:0; }
.access-list{ display:grid; border-top:1px solid var(--rule); }
.access-row{ display:grid; grid-template-columns:minmax(220px,1fr) 180px 90px; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--rule-soft); }
.access-who{ min-width:0; }
.access-who b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.access-who small{ color:var(--muted); }
.access-row select{ width:100%; }
.access-self{ color:var(--muted); font-size:12px; }
.access-pending{ display:inline-block; color:#8a5600; background:#fbefd8; padding:1px 6px; margin-left:6px; border-radius:999px; font-size:11px; }

body[data-role="viewer"] .edit-only{ display:none !important; }
body[data-role="viewer"] #viewSettings > .settings-wrap > .card:not(.access-card){ opacity:.7; }

@media (max-width:1100px){
  .session-email{ display:none; }
  .sync-state{ max-width:95px; overflow:hidden; text-overflow:ellipsis; }
}
@media (max-width:680px){
  .auth-card{ padding:26px 22px; }
  .access-form,.access-row{ grid-template-columns:1fr; }
  .access-row{ gap:6px; }
}

/* ─────────── üst bar ─────────── */
.topbar{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; gap:18px;
  padding:0 20px; height:56px;
  background:var(--ink); color:#DCE7EC;
}
.brandbar{ display:flex; align-items:center; gap:16px; min-width:0; }
.brand{ display:flex; align-items:center; gap:10px; min-width:0; }
.brand-mark{
  width:14px; height:18px;
  background:
    linear-gradient(var(--accent),var(--accent)) 0 0/3px 18px no-repeat,
    linear-gradient(#F0C979,#F0C979) 5.5px 4px/3px 14px no-repeat,
    linear-gradient(#7FA5B5,#7FA5B5) 11px 8px/3px 10px no-repeat;
}
.brand-name{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:17px; font-weight:600; letter-spacing:.055em;
  text-transform:uppercase; color:#fff; white-space:nowrap;
}
.brand-partner{ font-size:13px; color:#9FBAC7; white-space:nowrap; }
.brand-logo{ height:30px; width:auto; max-width:170px; object-fit:contain; display:block; }
.brand-sep{ width:1px; height:22px; background:var(--ink-line); display:block; }
.brand-cust{
  display:flex; align-items:center; gap:9px; padding-left:16px;
  border-left:1px solid var(--ink-line); min-width:0;
}
.brand-logo.is-cust{ height:28px; max-width:150px; background:#fff; border-radius:2px; padding:2px 4px; }
.brand-cust-name{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:13px; letter-spacing:.09em; text-transform:uppercase; color:#B9CEDA;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px;
}

.viewtabs{ display:flex; gap:2px; margin-left:auto; }
.tab{
  background:none; border:0; cursor:pointer; padding:8px 14px;
  color:#8FAEBC; border-bottom:2px solid transparent;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:14px; letter-spacing:.06em; text-transform:uppercase;
}
.tab:hover{ color:#fff; }
.tab.is-active{ color:#fff; border-bottom-color:var(--accent); }
.topbar-actions{ display:flex; align-items:center; gap:8px; }

/* ─────────── düğmeler ─────────── */
.btn{
  border:1px solid var(--rule); background:var(--surface); color:var(--text);
  border-radius:var(--r); padding:7px 14px; cursor:pointer; white-space:nowrap;
  transition:background .12s, border-color .12s;
}
.btn:hover{ background:var(--surface-2); border-color:#C3D0D6; }
.btn:disabled{ opacity:.45; cursor:default; }
.btn-primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.btn-primary:hover{ background:var(--accent-deep); border-color:var(--accent-deep); }
.btn-ghost{ background:transparent; }
.topbar .btn-ghost{ background:transparent; border-color:var(--ink-line); color:#DCE7EC; }
.topbar .btn-ghost:hover{ background:var(--ink-2); }
.btn-danger-ghost{ border-color:transparent; color:#9C3542; background:transparent; }
.btn-danger-ghost:hover{ background:#F8E2E4; border-color:#F0C9CD; }
.btn-sm{ padding:4px 10px; font-size:13px; }
.icon-btn{ border:0; background:transparent; color:inherit; cursor:pointer; width:28px; height:28px; border-radius:var(--r); line-height:1; }
.icon-btn:hover{ background:var(--surface-2); }

/* ─────────── açılır menü ─────────── */
.menu-wrap{ position:relative; }
.menu{
  position:absolute; right:0; top:calc(100% + 8px); z-index:60;
  min-width:250px; padding:5px;
  background:var(--surface); border:1px solid var(--rule);
  /* Renk ŞART: menü .topbar içinde duruyor, rengi devralırsa beyaz zeminde
     açık gri metin görünmez olur. */
  color:var(--text);
  border-radius:var(--r); box-shadow:var(--shadow);
}
.menu button{
  display:block; width:100%; text-align:left; border:0; background:none; color:var(--text);
  padding:8px 12px; border-radius:2px; cursor:pointer; font-size:14px;
}
.menu button:hover{ background:var(--accent-wash); }
.menu button.is-danger{ color:#9C3542; }
.menu button.is-danger:hover{ background:#F8E2E4; }
.menu hr{ border:0; border-top:1px solid var(--rule-soft); margin:5px 0; }

/* ─────────── görünümler ─────────── */
.view{ display:none; }
body[data-view="list"]     .view-list{ display:block; }
body[data-view="todo"]     .view-todo{ display:block; }
body[data-view="board"]    .view-board{ display:block; }
body[data-view="minutes"]  .view-minutes{ display:grid; }
body[data-view="settings"] .view-settings{ display:block; }
/* Yönetici paneli yalnızca yönetilen hizmetler modunda anlamlı */
.tab-managed{ display:none; }
body[data-mode="managed"] .tab-managed{ display:block; }

.histbtns{ display:flex; gap:2px; }
.topbar .hb{ color:#B9CEDA; font-size:17px; }
.topbar .hb:hover:not(:disabled){ background:var(--ink-2); color:#fff; }
.topbar .hb:disabled{ opacity:.32; cursor:default; }

/* ─────────── yönetilen hizmetler (iç toplantı) işareti ─────────── */
.mode-flag{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  color:#2B1A0B; background:#E9B44C; padding:3px 10px; border-radius:100px; white-space:nowrap;
}
body[data-mode="managed"] .topbar{ box-shadow:inset 0 -3px 0 #E9B44C; }

/* ─────────── sayaç rayı ─────────── */
.statrail{ display:flex; flex-wrap:wrap; background:var(--ink-2); color:#CFE0E7; padding:0 20px; border-bottom:1px solid rgba(0,0,0,.35); }
.stat{ display:flex; align-items:baseline; gap:8px; padding:11px 20px 11px 0; margin-right:20px; border-right:1px solid var(--ink-line); }
.stat:last-child{ border-right:0; margin-right:0; }
.stat-n{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:24px; font-weight:600; color:#fff; line-height:1; }
.stat-l{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:#8FA9B6; }
.stat.is-signal .stat-n{ color:#F2C878; }
.stat.is-late   .stat-n{ color:#F1A7AF; }
.stat.is-dis    .stat-n{ color:#E9C08A; }
.stat.is-open   .stat-n{ color:#9FD8EF; }

/* ─────────── araç çubuğu ─────────── */
.toolbar{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;
  padding:12px 20px; background:var(--surface); border-bottom:1px solid var(--rule);
  position:sticky; top:56px; z-index:30;
}
.search input{ width:250px; padding:7px 11px; border:1px solid var(--rule); border-radius:var(--r); background:var(--surface-2); }
.search input:focus{ background:var(--surface); }
.chips{ display:flex; gap:6px; flex-wrap:wrap; }
.chip{
  cursor:pointer; border:1px solid var(--rule); background:var(--surface);
  border-radius:100px; padding:4px 12px 4px 9px; font-size:13px;
  display:inline-flex; align-items:center; gap:7px; color:var(--muted);
}
.chip::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--s-dot,var(--muted-2)); }
.chip.is-on{ color:var(--s-fg,var(--text)); background:var(--s-bg,var(--surface-2)); border-color:transparent; font-weight:600; }
.chip .chip-n{ font-family:var(--font-mono); font-size:11px; opacity:.75; }
.field-inline{ display:flex; align-items:center; gap:7px; font-size:13px; color:var(--muted); }
.field-inline select{ border:1px solid var(--rule); border-radius:var(--r); padding:5px 7px; background:var(--surface); color:var(--text); }
.switch{ display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--muted); cursor:pointer; }
.switch input{ accent-color:var(--accent); }
.toolbar-end{ margin-left:auto; }

/* ═══════════ liste sahnesi: iş listesi + sağda çizelge ═══════════ */
.list-stage{ display:grid; grid-template-columns:minmax(0,1fr) var(--tl-w); align-items:start; }
body.rail-collapsed{ --tl-w:44px; }
.list-col{ min-width:0; }

/* align-self:stretch ŞART: grid öğesi içeriği kadar kalırsa sticky ölür. */
.rail{ min-width:0; align-self:stretch; border-left:1px solid var(--rule); }
.rail-inner{
  position:sticky; top:var(--stick-top);
  max-height:calc(100vh - var(--stick-top) - 8px); overflow:auto; overscroll-behavior:contain;
  padding:14px 14px 18px; background:var(--surface); border-bottom:1px solid var(--rule);
}
.rail-head{ display:flex; align-items:baseline; gap:8px; margin-bottom:12px; }
.rail-title{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink); }
.rail-year{ font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.rail-toggle{ margin-left:auto; border:1px solid var(--rule); background:var(--surface); color:var(--muted); border-radius:var(--r); cursor:pointer; padding:1px 7px; line-height:1.4; }
.rail-toggle:hover{ background:var(--surface-2); color:var(--text); }
.rail-toggle.is-vertical{
  margin:10px auto; writing-mode:vertical-rl;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:10px 3px;
}
body.rail-collapsed .rail-inner{ padding:0; }
.rail-sub{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  margin:16px 0 6px; padding-bottom:4px; border-bottom:1px solid var(--rule-soft);
}
.rail-sub .mono{ font-size:10.5px; letter-spacing:0; }
.rail-note{ font-size:11.5px; color:var(--muted); margin:8px 0 0; line-height:1.4; }

.tiles{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tile{ border:1px solid var(--rule); border-top:2px solid var(--muted-2); padding:7px 9px 8px; }
.tile.is-late{ border-top-color:var(--late); }
.tile.is-late .tile-n{ color:var(--late); }
.tile.is-dis{ border-top-color:var(--signal); }
.tile-n{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:26px; font-weight:600; line-height:1; color:var(--ink); }
.tile-l{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:3px; line-height:1.25; }
.tile-s{ font-size:11px; color:var(--muted); margin-top:4px; line-height:1.3; }

/* kim ne kadar */
.whobars{ display:flex; flex-direction:column; gap:3px; }
.wb{ display:flex; align-items:center; gap:7px; font-size:11.5px; }
.wb-k{ flex:0 0 96px; display:flex; align-items:center; gap:5px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wb-k i{ flex:0 0 auto; width:8px; height:8px; border-radius:2px; }
.wb-bar{ flex:1 1 auto; height:7px; background:var(--rule-soft); }
.wb-bar i{ display:block; height:7px; }
.wb-n{ flex:0 0 auto; font-family:var(--font-mono); font-size:10.5px; color:var(--muted); }
/* üye satırı kategorisinin altında girintili */
.wb.is-mem{ font-size:11px; }
.wb.is-mem .wb-k{ flex:0 0 96px; padding-left:12px; color:var(--muted); }
.wb.is-mem .wb-k i{ width:7px; height:7px; border-radius:50%; }
.wb.is-mem .wb-bar{ height:5px; }
.wb.is-mem .wb-bar i{ height:5px; }

/* ─── zaman çizelgesi ─── */
.tl{ position:relative; }
.tl-axis{ position:sticky; top:0; z-index:2; height:30px; background:var(--surface); border-bottom:1px solid var(--rule); }
.tl-mon{ position:absolute; top:2px; transform:translateX(1px); font-family:var(--font-display); font-stretch:semi-condensed; font-size:9.5px; letter-spacing:.1em; color:var(--muted); white-space:nowrap; }
.tl-now{ position:absolute; top:15px; transform:translateX(2px); font-family:var(--font-display); font-stretch:semi-condensed; font-size:9px; letter-spacing:.08em; color:var(--accent); white-space:nowrap; }
.tl-now::before{ content:""; position:absolute; left:-2px; top:-3px; width:0; height:0; border-left:3px solid transparent; border-right:3px solid transparent; border-top:3px solid var(--accent); }
.tl-now.is-right{ transform:translateX(-100%) translateX(-3px); }
.tl-now.is-right::before{ left:auto; right:-4px; }

.tl-body{ position:relative; padding-top:2px; }
.tl-grid{ position:absolute; inset:0; pointer-events:none; }
.tl-gl{ position:absolute; top:0; bottom:0; width:1px; background:var(--rule-soft); }
.tl-prev{ position:absolute; top:0; bottom:0; width:0; border-left:1px dashed var(--muted-2); opacity:.5; }
.tl-today{ position:absolute; top:0; bottom:0; width:1px; background:var(--accent); opacity:.75; }

.tl-row{ position:relative; padding:3px 0; cursor:pointer; border-radius:2px; }
.tl-row:hover{ background:rgba(0,0,0,.035); }
.tl-row.is-open{ box-shadow:inset 2px 0 0 var(--accent); padding-left:6px; }
.tl-row.is-detay{ background:var(--accent-wash); }
.tl-label{
  display:flex; align-items:center; gap:5px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11.5px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.15;
}
.tl-label .dot{ flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--s-dot,var(--muted-2)); }
.tl-row.is-late .tl-label{ color:var(--late); }

.tl-track{ position:relative; display:block; height:10px; margin-top:2px; }
/* planlanan aralık: başlangıç → hedef bitiş */
.tl-plan{ position:absolute; top:0; height:10px; border:1px dashed var(--plan); border-radius:2px; }
.tl-bar{ position:absolute; top:2px; height:6px; display:flex; overflow:hidden; border-radius:1px; }
.tl-bar .seg{ min-width:2px; }
/* hedef aşımı: bu alan kırmızıya döner */
.tl-over{ position:absolute; top:0; height:10px; background:var(--late); opacity:.42; border-radius:2px; }
.tl-none{ position:absolute; left:0; right:0; top:4px; border-top:1px dotted var(--rule); opacity:.7; }
.tl-due{ position:absolute; top:1px; width:7px; height:7px; background:var(--surface); border:1px solid var(--muted); transform:rotate(45deg) translateX(-2px); }
.tl-due.is-late{ background:var(--late); border-color:var(--late); }

.tl-row.is-detay .tl-track{ height:14px; }
.tl-row.is-detay .tl-plan,
.tl-row.is-detay .tl-over{ height:14px; }
.tl-row.is-detay .tl-bar{ top:3px; height:8px; }
.tl-notes{ position:absolute; left:0; right:0; bottom:-6px; height:5px; display:block; }
.tl-notes i{ position:absolute; width:1px; height:4px; background:var(--muted-2); }
.tl-notes i.is-new{ width:2px; height:6px; background:var(--signal); }
.tl-fact{ display:block; margin-top:7px; font-family:var(--font-mono); font-size:10.5px; color:var(--muted); line-height:1.35; }
.tl-empty{ font-size:12px; color:var(--muted); padding:10px 0; }

.tl-legend{
  display:flex; gap:14px; margin-top:10px; padding-top:7px; border-top:1px solid var(--rule-soft);
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);
}
.tl-legend span{ display:flex; align-items:center; gap:5px; }
.tl-legend i{ width:16px; height:8px; display:block; }
.tl-legend .k-plan{ border:1px dashed var(--plan); }
.tl-legend .k-late{ background:var(--late); opacity:.42; }

/* ═══════════ iş listesi ═══════════ */
.tasklist{ padding:12px 20px 0; display:flex; flex-direction:column; gap:5px; }
.task{ background:var(--surface); border:1px solid var(--rule); border-radius:var(--r); border-left:3px solid var(--s-dot,var(--muted-2)); }
.task.is-open{ box-shadow:var(--shadow); }
/* Sol kenar aciliyeti taşır: gecikme, sonra yükseltilmiş öncelik. İş kapandığında
   ikisi de düşer — biten işin aciliyeti kalmaz. */
.task.is-hot{ border-left-color:#B3261E; }
.task.is-late{ border-left-color:var(--late); }
.task.is-nodoc{ background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 9px,var(--surface-2) 9px,var(--surface-2) 18px); }

/* şirket başlığı — iç toplantıda işler bu başlıklar altında toplanır */
.cust-head{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  margin:16px 0 2px; padding:7px 10px 7px 12px;
  background:var(--ink); color:#DCE7EC; border-radius:var(--r);
}
.tasklist > .cust-head:first-child{ margin-top:0; }
.ch-logo{ align-self:center; display:flex; align-items:center; justify-content:center; height:22px; }
.ch-logo img{ max-height:22px; max-width:76px; object-fit:contain; background:#fff; border-radius:2px; padding:1px 3px; }
.ch-dot{ display:block; width:8px; height:8px; border-radius:2px; background:var(--accent); }
.ch-name{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:15px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#fff; }
.ch-n{ font-family:var(--font-mono); font-size:11px; color:#9FBAC7; }
/* Tek esneyen boşluk: sağdaki grup (sorumlu → kopyala → temizle) hep birlikte
   sağa yaslanır. Birden çok auto kenar boşluğu kullanılırsa aralarına boşluk düşer. */
.ch-gap{ flex:1 1 auto; }
.ch-leads{ font-size:11.5px; color:#9FBAC7; }
.ch-copy{ align-self:center; background:transparent; border-color:var(--ink-line); color:#DCE7EC; }
.ch-copy:hover:not(:disabled){ background:var(--ink-2); border-color:#5B7C8C; }
.ch-copy:disabled{ opacity:.4; }
.ch-clear:hover:not(:disabled){ background:#5C2429; border-color:#8C3A42; color:#FFE3E5; }
.cust-empty{ margin:6px 0 0 2px; font-size:12.5px; color:var(--muted); }

/* hızlı ekleme — kapalı iş satırıyla aynı yükseklik ve hiza */
.quickadd{
  display:grid; align-items:center; gap:7px; margin:4px 0 14px;
  grid-template-columns:26px minmax(0,1fr) var(--q-pri) 64px;
  background:var(--surface); border:1px dashed var(--rule); border-radius:var(--r);
  border-left:3px solid var(--rule); padding:5px 10px 5px 6px;
}
.quickadd:focus-within{ border-color:var(--accent); border-left-color:var(--accent); background:var(--surface); }
.qa-plus{ text-align:center; font-size:17px; line-height:1; color:var(--muted-2); }
.quickadd:focus-within .qa-plus{ color:var(--accent); }
.quickadd input[name="title"]{
  min-width:0; border:0; background:none; padding:5px 3px; font-size:14px; color:var(--text);
}
.quickadd input[name="title"]::placeholder{ color:var(--muted-2); }
.quickadd input[name="title"]:focus{ outline:none; }

/* Satır zemini işin DURUMUdur — bir bakışta ne aşamada olduğu okunur.
   Gövde açıldığında beyaz kalır ki not okumak bozulmasın. */
.task-head{ display:flex; align-items:center; gap:10px; padding-right:10px; background:var(--s-row,transparent); }
.task-toggle{
  flex:1 1 auto; min-width:0;
  display:grid; grid-template-columns:26px minmax(0,1.25fr) minmax(0,1.5fr);
  align-items:center; gap:12px;
  background:none; border:0; cursor:pointer; text-align:left; font:inherit; color:inherit;
  padding:7px 4px 7px 9px;
}
.task-no{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:16px; font-weight:600; color:var(--muted-2); text-align:right; font-variant-numeric:tabular-nums; }
.task-title{ font-size:14.5px; font-weight:600; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.task.is-open .task-title{ white-space:normal; }
.task-latest{ display:flex; gap:9px; align-items:baseline; min-width:0; font-size:13px; color:var(--muted); }
.task-latest .ldate{ font-family:var(--font-mono); font-size:11.5px; color:var(--muted); white-space:nowrap; }
.task-latest .ltext{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-latest.is-new .ldate{ color:var(--signal); font-weight:700; }
.task.is-open .task-latest{ display:none; }

/* Sağ blok SABİT sütunludur. Genişliği içeriğe göre değişseydi soldaki
   son-açıklama sütunu her satırda farklı yerde başlardı. */
.task-quick{
  flex:0 0 auto; display:grid; align-items:center; gap:7px;
  grid-template-columns:var(--q-pri) var(--q-who) var(--q-bar) var(--q-flag) var(--q-own) var(--q-st) 24px 22px;
}
:root{ --q-pri:76px; --q-who:134px; --q-bar:64px; --q-flag:70px; --q-own:112px; --q-st:118px; }
.q-cell{ min-width:0; display:flex; align-items:center; gap:5px; overflow:hidden; }
.q-bar{ justify-content:flex-start; }
.whochip{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11px; letter-spacing:.05em; text-transform:uppercase; font-weight:600;
  color:var(--text); background:var(--surface-2); border:1px solid var(--rule-soft);
  padding:3px 9px 3px 6px; border-radius:100px; white-space:nowrap; max-width:100%; overflow:hidden;
}
.whochip i{ flex:0 0 auto; width:8px; height:8px; border-radius:2px; }
.lifebar{ display:flex; height:6px; width:100%; flex:1 1 auto; border:1px solid var(--rule-soft); }
.lifebar .seg{ min-width:1px; }
.flag-late{
  font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px;
  letter-spacing:.07em; text-transform:uppercase; font-weight:600;
  color:#8C2F3A; background:var(--late-wash); padding:3px 8px; border-radius:100px; white-space:nowrap;
}
.flag-nodoc{
  font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted); background:var(--surface-2); border:1px dashed var(--rule);
  padding:2px 8px; border-radius:100px; white-space:nowrap;
}
.t-owner{
  min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  border:1px solid transparent; background:none; cursor:text;
  font-size:12.5px; color:var(--muted); padding:3px 7px; border-radius:var(--r); text-align:left;
}
.t-owner:hover{ border-color:var(--rule); background:var(--surface-2); }
.t-owner-input{ min-width:0; width:100%; border:1px solid var(--accent); border-radius:var(--r); padding:3px 7px; font-size:12.5px; background:var(--surface); }
select.qs{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:12px; letter-spacing:.04em; text-transform:uppercase; font-weight:600;
  color:var(--s-fg,var(--text)); background:var(--s-bg,var(--surface-2));
  border:1px solid transparent; border-radius:100px; padding:4px 6px 4px 10px; cursor:pointer;
  min-width:0; width:100%;
}
/* öncelik kutusu — Acil dolgun, gerisi sakin */
select.pri, .pri-chip{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11px; letter-spacing:.05em; text-transform:uppercase; font-weight:600;
  color:var(--p-fg,var(--muted)); background:var(--p-bg,var(--surface-2));
  border:1px solid transparent; border-radius:100px; padding:3px 4px 3px 9px;
  min-width:0; width:100%; cursor:pointer;
}
select.pri:hover{ border-color:var(--p-line,var(--rule)); }
/* Varsayılan öncelik geri çekilir, yükseltilmiş olanlar öne çıkar:
   sütun boyunca göz yalnızca istisnalara takılır. */
select.pri[data-pri="Normal"], select.pri[data-pri="Düşük"]{
  background:none; color:var(--muted); font-weight:400; text-transform:none; letter-spacing:0; font-size:12px;
}
select.pri[data-pri="Normal"]:hover, select.pri[data-pri="Düşük"]:hover{ background:var(--surface-2); }
.pri-chip{ width:auto; padding:2px 9px; cursor:default; white-space:nowrap; }
select.qs:hover{ border-color:var(--s-dot,var(--rule)); }
/* not durumu — iş durumuyla aynı sözlük, daha küçük ölçek */
select.ns{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11px; letter-spacing:.04em; text-transform:uppercase; font-weight:600;
  color:var(--s-fg,var(--muted)); background:var(--s-bg,var(--surface-2));
  border:1px solid transparent; border-radius:100px; padding:2px 4px 2px 9px; cursor:pointer;
  flex:0 0 auto; max-width:126px;
}
select.ns:hover{ border-color:var(--s-dot,var(--rule)); }
select.ns.is-guess{ border-bottom:1px dotted var(--s-fg,var(--muted)); border-radius:100px 100px 2px 2px; }
/* sil — onay yok, geri alma var */
.q-del{
  border:1px solid transparent; background:none; color:var(--muted-2);
  width:24px; height:24px; line-height:1; font-size:12px; cursor:pointer; padding:0; border-radius:var(--r);
}
.q-del:hover{ color:#9C3542; background:#F8E2E4; border-color:#F0C9CD; }

/* sıralama okları — satır kapalıyken de erişilebilir */
.task-move{ display:inline-flex; flex-direction:column; gap:1px; flex:0 0 auto; }
.mv{
  border:1px solid var(--rule); background:var(--surface); color:var(--muted);
  width:22px; height:15px; line-height:1; font-size:10px; cursor:pointer; padding:0;
  border-radius:2px;
}
.mv:hover:not(:disabled){ background:var(--accent-wash); color:var(--accent-deep); border-color:var(--accent); }
.mv:disabled{ opacity:.3; cursor:default; }

/* ─── genişletilmiş iş ─── */
.task-body{ display:none; }
.task.is-open .task-body{ display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:0 22px; padding:2px 14px 14px 38px; }
.body-main{ min-width:0; }
.body-side{ min-width:0; padding-top:4px; }

.holdstrip{ grid-column:1/-1; margin:0 0 12px; padding:9px 11px; background:var(--surface-2); border:1px solid var(--rule-soft); border-radius:var(--r); }
.holdstrip.is-muted{ color:var(--muted); font-size:13px; }
.hs-bar{ display:flex; height:12px; border:1px solid var(--rule); }
.hs-bar .seg{ min-width:2px; }
.hs-scale{ display:flex; justify-content:space-between; margin-top:3px; font-family:var(--font-mono); font-size:10.5px; color:var(--muted); }
.hs-due{ color:var(--muted); }
.hs-due.is-late{ color:var(--late); font-weight:700; }
.hs-text{ margin:7px 0 0; font-size:13.5px; line-height:1.45; }
.hs-text b{ color:var(--text); }
.hs-text b.late{ color:var(--late); }
.hs-warn{ margin:4px 0 0; font-size:12px; color:var(--muted); }

.ledger{ position:relative; margin:2px 0 0; padding:0 0 0 20px; list-style:none; }
.ledger::before{ content:""; position:absolute; left:5px; top:6px; bottom:6px; width:1px; background:var(--rule); }
/* Izgara ŞART: esnek kutuda durum sütunu metin uzunluğuna göre kayıyordu. */
.entry{
  position:relative; padding:5px 9px; align-items:baseline; border-radius:var(--r);
  display:grid; grid-template-columns:84px minmax(0,1fr) 126px auto; gap:4px 12px;
  /* Madde zemini de kendi durumundan gelir: tamamlanan satır yeşil okunur. */
  background:var(--s-row,transparent);
}
.entry.is-empty{ display:block; }
/* nokta, o dönemde işin kimde olduğunu taşıyan kişinin renginde */
.entry::before{
  content:""; position:absolute; left:-19px; top:12px; z-index:1;
  width:7px; height:7px; border-radius:50%;
  background:var(--ec,var(--muted-2)); border:1px solid var(--ec,var(--rule-soft));
  box-shadow:0 0 0 3px var(--surface);
}
.entry.is-new::before{ box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--signal); }
.entry.is-done .entry-text{ color:var(--muted); }
.ledger-hidden{ margin:2px 0 0 20px; font-size:11.5px; color:var(--muted); }
.entry-date{ font-family:var(--font-mono); font-size:12px; color:var(--muted); white-space:nowrap; min-width:0; }
.entry.is-new .entry-date{ color:var(--signal); font-weight:700; }
.entry-text{ min-width:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.whotag{
  display:inline-flex; align-items:center; gap:4px; vertical-align:baseline; margin-left:6px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.08em; font-weight:600;
  color:var(--pc,var(--muted)); background:none; border:0; border-radius:2px;
  padding:1px 4px; cursor:pointer; white-space:nowrap;
}
.whotag i{ width:7px; height:7px; border-radius:2px; background:var(--pc,var(--muted-2)); }
.whotag.is-guess{ border-bottom:1px dotted var(--pc,var(--muted)); border-radius:0; }
.whotag:hover{ background:var(--surface-2); }
.entry-tools{ display:flex; gap:2px; opacity:0; transition:opacity .12s; }
.entry:hover .entry-tools, .entry:focus-within .entry-tools{ opacity:1; }
.entry-tools button{ border:0; background:none; cursor:pointer; color:var(--muted); font-size:12px; padding:2px 6px; border-radius:2px; }
.entry-tools button:hover{ background:var(--surface-2); color:var(--text); }
/* düzenleme kipi: tarih | metin (2 sütun boyu) | araçlar */
.entry-edit{ grid-column:2/4; min-width:0; display:flex; gap:8px; }
.entry-edit textarea{ flex:1 1 auto; min-width:0; border:1px solid var(--accent); border-radius:var(--r); padding:6px 9px; resize:vertical; background:var(--surface); }
.entry-picker{ grid-column:1/-1; display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:6px 0 2px; }
.ep-l{ font-size:11.5px; color:var(--muted); }

/* kimde seçici — kategoriler ve üyeleri gruplu */
.wait-picker{ display:flex; gap:7px; flex-wrap:wrap; }
.wp-group{
  display:inline-flex; align-items:center; gap:3px; flex-wrap:wrap;
  padding:2px 4px 2px 2px; border:1px solid var(--rule-soft); border-radius:100px; background:var(--surface);
}
.wp-group.is-dis{ border-style:dashed; }
.wp-chip{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  border:1px solid transparent; background:none; color:var(--muted);
  border-radius:100px; padding:3px 9px 3px 6px; cursor:pointer;
}
.wp-chip i{ width:8px; height:8px; border-radius:2px; opacity:.4; }
.wp-chip:hover{ color:var(--text); background:var(--surface-2); }
.wp-chip.is-cat{ font-weight:600; color:var(--text); }
.wp-chip.is-mem{ font-size:10.5px; text-transform:none; letter-spacing:.02em; }
.wp-chip.is-mem i{ border-radius:50%; }
.wp-chip.is-on{ color:var(--text); font-weight:600; background:var(--surface-2); box-shadow:inset 0 0 0 1.5px var(--pc); }
.wp-chip.is-on i{ opacity:1; }
.wp-add{
  border:0; background:none; color:var(--muted-2); cursor:pointer;
  font-size:13px; line-height:1; padding:3px 7px; border-radius:100px;
}
.wp-add:hover{ color:var(--accent); background:var(--accent-wash); }

.addnote{ margin:10px 0 0 20px; padding-top:10px; border-top:1px dashed var(--rule); }
.addnote-row{ display:flex; gap:8px; align-items:flex-start; }
.addnote input[type="date"]{ flex:0 0 138px; border:1px solid var(--rule); border-radius:var(--r); padding:6px 8px; font-family:var(--font-mono); font-size:12.5px; background:var(--surface-2); }
.addnote textarea{ flex:1 1 auto; min-height:38px; border:1px solid var(--rule); border-radius:var(--r); padding:7px 10px; resize:vertical; background:var(--surface-2); }
.addnote textarea:focus{ background:var(--surface); }
.who-row{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:8px; padding-left:146px; }
.who-l{ font-size:11.5px; color:var(--muted); }

.side-facts{ border-top:1px solid var(--rule-soft); }
.side-facts div{ display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px solid var(--rule-soft); font-size:12.5px; }
.side-facts b{ font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); }
.side-facts .val{ font-family:var(--font-mono); font-size:12px; }
.side-facts .val.is-late{ color:var(--late); font-weight:700; }
.side-wait{ margin-top:12px; }
.side-wait > b{ display:block; font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); margin-bottom:5px; }
.wl{ display:flex; align-items:center; gap:6px; margin-bottom:3px; font-size:12px; }
.wl-sw{ flex:0 0 auto; width:8px; height:8px; border-radius:2px; }
.wl-k{ flex:0 0 68px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wl-bar{ flex:1 1 auto; height:7px; background:var(--rule-soft); }
.wl-bar i{ display:block; height:7px; }
.wl-n{ flex:0 0 auto; font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.side-actions{ display:flex; gap:5px; margin-top:14px; }
.side-switch{ margin-top:9px; }

.empty{ text-align:center; padding:60px 20px; color:var(--muted); background:var(--surface); border:1px dashed var(--rule); border-radius:var(--r); }
.empty h3{ font-family:var(--font-display); font-stretch:semi-condensed; letter-spacing:.04em; margin:0 0 6px; color:var(--text); }
.listfoot{ padding:12px 20px 30px; color:var(--muted); font-size:12.5px; }

/* ═══════════ yönetici paneli ═══════════
   Tek ekranda iki kaynak: müşteri kayıtlarındaki gerçek yük ve iç plan. */
.board{ max-width:1500px; margin:0 auto; padding:24px 20px 60px; }
.board-head{ border-bottom:2px solid var(--ink); padding-bottom:12px; margin-bottom:18px; }
.board-head h1{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:30px; font-weight:600; letter-spacing:.02em; margin:0; line-height:1.1; color:var(--ink);
}
.board-sub{ margin:5px 0 0; font-size:13px; color:var(--muted); }
/* rapor kaynağı — iki ayrı rapor, aynı yapı */
.board-src{ display:inline-flex; margin-top:12px; border:1px solid var(--rule); border-radius:100px; overflow:hidden; background:var(--surface); }
.bsrc{
  border:0; background:none; cursor:pointer; padding:7px 18px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);
}
.bsrc:hover{ background:var(--surface-2); color:var(--text); }
.bsrc.is-on{ background:var(--ink); color:#fff; }
.board-cmp{
  margin:-8px 0 18px; padding:9px 13px; font-size:12.5px; color:var(--muted);
  background:var(--surface); border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:var(--r);
}
.board-cmp b{ color:var(--text); }
.lnk{ border:0; background:none; padding:0 0 0 4px; cursor:pointer; color:var(--accent-deep); font:inherit; text-decoration:underline; }

.board-kpi{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.bk{ background:var(--surface); border:1px solid var(--rule); border-top:3px solid var(--muted-2); padding:11px 13px 12px; }
.bk-n{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:32px; font-weight:600; line-height:1; color:var(--ink); }
.bk-l{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
.bk-s{ font-size:11.5px; color:var(--muted-2); margin-top:3px; }
.bk.is-late{ border-top-color:var(--late); } .bk.is-late .bk-n{ color:var(--late); }
.bk.is-hot{ border-top-color:#B3261E; } .bk.is-hot .bk-n{ color:#B3261E; }
.bk.is-dis{ border-top-color:var(--signal); }
.bk.is-open{ border-top-color:var(--accent); }

.board-sec{ background:var(--surface); border:1px solid var(--rule); border-radius:var(--r); padding:16px 18px 18px; margin-bottom:16px; }
.board-h2{
  display:flex; align-items:baseline; gap:9px; margin:0 0 12px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink);
  padding-bottom:6px; border-bottom:1px solid var(--rule);
}
.board-h2 .n{ font-family:var(--font-mono); font-size:11px; letter-spacing:0; color:var(--muted); }
.board-note{ margin:10px 0 0; font-size:11.5px; color:var(--muted); line-height:1.45; }
.board-cols{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; align-items:start; }

.btab{ display:flex; flex-direction:column; }
.btr{
  display:grid; align-items:center; gap:12px; padding:8px 4px;
  grid-template-columns:minmax(150px,1.4fr) minmax(80px,.9fr) minmax(120px,1.2fr) 74px 48px 62px 84px 108px 54px;
  border-bottom:1px solid var(--rule-soft); font-size:13px;
}
.btr-head{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  border-bottom:1px solid var(--rule); padding-bottom:5px;
}
.btr .num{ text-align:right; font-family:var(--font-mono); font-size:13px; color:var(--muted); }
.btr-head .num{ font-family:var(--font-display); font-size:10px; }
.btr .num.is-late{ color:var(--late); font-weight:700; }
.btr .num.is-hot{ color:#B3261E; font-weight:700; }
.btr .num.is-open{ color:var(--accent-deep); font-weight:700; }
.bc-ad{ display:flex; align-items:center; gap:9px; min-width:0; }
.bc-logo{ flex:0 0 34px; height:24px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px solid var(--rule-soft); }
.bc-logo img{ max-height:20px; max-width:30px; object-fit:contain; }
.bc-logo i{ width:7px; height:7px; border-radius:2px; background:var(--accent); }
.bc-ad b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bc-ad em{ font-style:normal; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); }
.bc-lead, .bc-son{ color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bc-son{ font-family:var(--font-mono); font-size:11.5px; }
.bc-mix{ display:flex; align-items:center; gap:8px; min-width:0; }
.mix{ flex:1 1 auto; display:flex; height:9px; border:1px solid var(--rule-soft); min-width:40px; }
.mix i{ display:block; min-width:2px; background:var(--s-dot,var(--muted-2)); }
.mix i.bos{ flex:1; background:var(--rule-soft); }
.mix-n{ flex:0 0 auto; font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.bc-plan{ display:flex; align-items:center; gap:7px; }
.bc-plan em{ font-style:normal; font-size:11.5px; color:var(--muted-2); }
.pbar{ flex:1 1 auto; height:7px; background:var(--rule-soft); min-width:34px; }
.pbar i{ display:block; height:7px; background:#1C8556; }
.pn{ flex:0 0 auto; font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.bc-act{ text-align:right; }

.brisk{ display:flex; flex-direction:column; }
.br{
  display:grid; align-items:center; gap:10px; width:100%; text-align:left; cursor:pointer;
  grid-template-columns:66px minmax(0,1fr) 108px 92px;
  background:none; border:0; border-bottom:1px solid var(--rule-soft);
  border-left:3px solid var(--p-line,var(--rule)); padding:7px 6px 7px 9px; font-size:13px;
}
.br:hover{ background:var(--surface-2); }
.br-pri{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10px; letter-spacing:.07em; text-transform:uppercase; font-weight:600;
  color:var(--p-fg); background:var(--p-bg); padding:2px 6px; text-align:center;
}
.br-t{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.br-t b{ color:var(--accent-deep); font-weight:600; }
.br-who{ font-size:11.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.br-g{ font-family:var(--font-mono); font-size:11px; color:var(--late); text-align:right; }

/* ═══════════ yapılacaklar ═══════════
   Birim burada NOT'tur: hangi şirkette, hangi işte, hangi madde, hangi durumda. */
.todo-wrap{ padding:14px 20px 0; }
.todo-sum{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.todo-sum:empty{ display:none; }
.tsum{
  display:flex; flex-direction:column; gap:1px; align-items:flex-start; text-align:left;
  border:1px solid var(--rule); border-top:2px solid var(--accent); background:var(--surface);
  padding:7px 14px 8px 11px; min-width:150px; cursor:pointer; border-radius:0 0 var(--r) var(--r);
}
.tsum:hover{ background:var(--surface-2); }
.tsum.is-on{ background:var(--accent-wash); border-color:var(--accent); }
.ts-n{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:24px; font-weight:600; line-height:1; color:var(--ink); }
.ts-ad{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--text); }
.ts-alt{ font-size:11.5px; color:var(--muted); }

.todo-group{ margin-bottom:20px; }
.tg-head{
  display:flex; align-items:baseline; gap:10px; margin:0 0 6px;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--s-fg,var(--ink)); padding-bottom:4px; border-bottom:1px solid var(--s-dot,var(--rule));
}
.tg-head .n{ font-family:var(--font-mono); font-size:11px; letter-spacing:0; color:var(--muted); }
.tg-head em{ margin-left:auto; font-style:normal; font-size:11.5px; letter-spacing:0; text-transform:none; color:var(--muted); }

.todo-row{
  display:flex; align-items:baseline; gap:12px; padding:6px 10px 6px 0;
  border-bottom:1px solid var(--rule-soft); background:var(--surface);
  border-left:3px solid var(--ec,var(--muted-2));
}
.todo-row:hover{ background:var(--surface-2); }
.tr-date{ flex:0 0 84px; padding-left:10px; font-family:var(--font-mono); font-size:11.5px; color:var(--muted); white-space:nowrap; }
.tr-task{
  flex:0 0 26%; min-width:0; text-align:left; border:0; background:none; cursor:pointer;
  font-size:13px; font-weight:600; color:var(--text); padding:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.tr-task:hover{ color:var(--accent-deep); text-decoration:underline; }
.tr-cust{ display:block; font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--accent-deep); }
.tr-no{ font-family:var(--font-mono); font-size:11px; color:var(--muted); font-weight:400; }
.tr-text{ flex:1 1 auto; min-width:0; font-size:13.5px; }
.tr-who{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; max-width:170px; overflow:hidden;
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); white-space:nowrap;
}
.tr-who i{ flex:0 0 auto; width:8px; height:8px; border-radius:2px; }

/* ═══════════ ayarlar ═══════════ */
.card-title-sub{ font-family:var(--font-body); font-size:12px; letter-spacing:0; text-transform:none; color:var(--muted); font-weight:400; }
.mode-pick{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mode-opt{
  display:grid; grid-template-columns:auto 1fr; gap:2px 9px; align-items:baseline;
  border:1px solid var(--rule); border-radius:var(--r); padding:11px 13px; cursor:pointer;
}
.mode-opt:hover{ background:var(--surface-2); }
.mode-opt.is-on{ border-color:var(--accent); background:var(--accent-wash); }
.mode-opt input{ accent-color:var(--accent); }
.mo-ad{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.mo-ac{ grid-column:2; font-size:12px; color:var(--muted); line-height:1.45; }
.settings-wrap{ max-width:900px; margin:0 auto; padding:24px 20px 60px; display:flex; flex-direction:column; gap:16px; }
.card{ background:var(--surface); border:1px solid var(--rule); border-radius:var(--r); padding:18px 20px 20px; }
.card-title{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:13px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink); margin:0 0 4px; }
.card-hint{ font-size:12.5px; color:var(--muted); margin:0 0 14px; line-height:1.5; }

.logo-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.logo-grid.is-single{ grid-template-columns:minmax(0,420px); }
.dialog-body .logo-grid{ margin-top:6px; }
.logo-slot{ border:1px solid var(--rule-soft); border-radius:var(--r); padding:12px; }
.ls-head{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.ls-preview{ height:64px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px dashed var(--rule); margin-bottom:10px; }
.ls-preview img{ max-height:56px; max-width:90%; object-fit:contain; }
.ls-empty{ font-size:12px; color:var(--muted-2); }
.ls-acts{ display:flex; gap:6px; margin-bottom:6px; }
.logo-slot .card-hint{ margin:0; }

/* kapalı müşteri listesi — ekran paylaşımında yalnızca etkin müşteri */
.cust-peek{
  display:flex; align-items:center; gap:12px;
  border:1px solid var(--rule); border-left:3px solid var(--accent);
  border-radius:var(--r); padding:10px 12px; background:var(--accent-wash);
}
.cust-peek .cust-name{ flex:1 1 auto; }
.cust-foot{ display:flex; gap:8px; margin-top:12px; }

.cust-row{ display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--rule-soft); }
.cust-row.is-active{ background:var(--accent-wash); margin:0 -10px; padding:10px; border-radius:var(--r); border-bottom-color:transparent; }
.cust-pick{ display:flex; align-items:center; gap:12px; flex:1 1 auto; min-width:0; cursor:pointer; }
.cust-pick input{ accent-color:var(--accent); }
.cust-logo{ flex:0 0 88px; height:38px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px solid var(--rule-soft); }
.cust-logo img{ max-height:32px; max-width:80px; object-fit:contain; }
.cust-logo.is-partner{ flex:0 0 70px; border-style:dashed; }
.cust-logo.is-partner img{ max-width:62px; }
.cust-noLogo{ font-size:10px; color:var(--muted-2); text-align:center; padding:0 4px; }
.cust-name{ display:flex; flex-direction:column; gap:2px; font-weight:600; min-width:0; }
.cust-name em{ font-style:normal; font-weight:400; font-size:12px; color:var(--muted); }
.cust-acts{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }

/* müşteri kaydından kopyalama */
.cp-list{ max-height:46vh; overflow:auto; border:1px solid var(--rule-soft); border-radius:var(--r); padding:4px 6px; }
.cp-row{ display:flex; align-items:baseline; gap:9px; padding:5px 3px; font-size:13px; cursor:pointer; border-bottom:1px solid var(--rule-soft); }
.cp-row:last-child{ border-bottom:0; }
.cp-row:hover{ background:var(--surface-2); }
.cp-row input{ accent-color:var(--accent); }
.cp-row.is-added{ color:var(--muted-2); cursor:default; }
.cp-no{ flex:0 0 20px; text-align:right; font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.cp-t{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cp-st{
  flex:0 0 auto; font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10px; letter-spacing:.06em; text-transform:uppercase; font-weight:600;
  color:var(--s-fg); background:var(--s-bg); padding:1px 7px; border-radius:100px;
}
.cp-var{ flex:0 0 auto; font-size:10.5px; color:var(--muted-2); }

/* durum kayıtları */
.snap-add{ display:flex; gap:8px; margin-bottom:14px; }
.snap-add input{ flex:1 1 auto; min-width:0; border:1px solid var(--rule); border-radius:var(--r); padding:7px 10px; background:var(--surface-2); }
.snap-add input:focus{ background:var(--surface); }
.snap-row{
  display:grid; align-items:center; gap:12px; padding:9px 2px;
  grid-template-columns:118px minmax(120px,1fr) minmax(0,1.3fr) auto;
  border-bottom:1px solid var(--rule-soft); font-size:13px;
}
.snap-row:last-child{ border-bottom:0; }
.sn-t{ font-family:var(--font-mono); font-size:12px; color:var(--muted); white-space:nowrap; }
.sn-ad{ font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sn-ad em{
  font-style:normal; font-weight:400; margin-left:7px; font-size:10px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2);
}
.sn-oz{ font-size:12px; color:var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sn-act{ display:flex; gap:6px; justify-content:flex-end; }

/* kategori bloğu */
.cat-block{ border:1px solid var(--rule-soft); border-radius:var(--r); padding:10px 12px; margin-bottom:10px; }
.cat-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rs-sw{ flex:0 0 auto; width:20px; height:20px; border:1px solid rgba(0,0,0,.12); border-radius:3px; cursor:pointer; }
.cat-name{ flex:1 1 180px; min-width:120px; font-weight:600; border:1px solid transparent; background:none; border-radius:var(--r); padding:5px 7px; }
.cat-name:hover, .cat-name:focus{ border-color:var(--rule); background:var(--surface-2); }
.cat-type{ border:1px solid var(--rule); border-radius:var(--r); padding:4px 7px; font-size:12.5px; background:var(--surface-2); }
.rs-n{ font-family:var(--font-mono); font-size:11.5px; color:var(--muted); }
.cat-members{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:9px; padding-top:9px; border-top:1px dashed var(--rule-soft); }
.mem-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; background:var(--surface-2); border:1px solid var(--rule-soft);
  border-radius:100px; padding:3px 5px 3px 9px;
}
.mem-chip i{ width:9px; height:9px; border-radius:50%; background:var(--pc); }
.mem-chip button{ border:0; background:none; cursor:pointer; color:var(--muted-2); font-size:11px; padding:1px 4px; border-radius:50%; }
.mem-chip button:hover{ color:#9C3542; background:#F8E2E4; }
.mem-empty{ font-size:12px; color:var(--muted-2); }
.mem-add{ display:inline-flex; align-items:center; gap:6px; margin-left:auto; }
.mem-add input{ border:1px solid var(--rule); border-radius:var(--r); padding:5px 9px; width:170px; background:var(--surface-2); font-size:13px; }

/* ─────────── tutanak ekranı ─────────── */
.view-minutes{ grid-template-columns:300px minmax(0,1fr); align-items:start; }
.meta-panel{ position:sticky; top:56px; align-self:start; max-height:calc(100vh - 56px); overflow:auto; padding:18px 18px 30px; background:var(--surface); border-right:1px solid var(--rule); }
.panel-title{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin:20px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--rule-soft); }
.meta-panel .panel-title:first-child{ margin-top:0; }
.field{ display:block; margin-bottom:10px; }
.field > span{ display:block; font-size:12px; color:var(--muted); margin-bottom:3px; }
.field input, .field select, .field textarea{ width:100%; border:1px solid var(--rule); border-radius:var(--r); padding:7px 9px; background:var(--surface-2); resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus{ background:var(--surface); }
.field-hint{ font-size:12px; color:var(--muted); margin:-4px 0 12px; }
.meta-panel .switch{ display:flex; margin:6px 0; }
.panel-actions{ display:flex; flex-direction:column; gap:7px; margin:18px 0 8px; }

/* tutanağa girecek işler */
.doc-pick-acts{ display:flex; gap:6px; margin-bottom:8px; }
.doc-pick{ max-height:260px; overflow:auto; border:1px solid var(--rule-soft); border-radius:var(--r); padding:4px 6px; }
.dp-cust{
  font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  margin:8px 0 3px; padding-bottom:2px; border-bottom:1px solid var(--rule-soft);
}
.dp-cust:first-child{ margin-top:2px; }
.dp-row{ display:flex; align-items:baseline; gap:7px; padding:3px 2px; font-size:12.5px; cursor:pointer; }
.dp-row:hover{ background:var(--surface-2); }
.dp-row input{ accent-color:var(--accent); }
.dp-no{ font-family:var(--font-mono); font-size:11px; color:var(--muted); flex:0 0 18px; text-align:right; }
.dp-t{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dp-row.is-off .dp-t{ color:var(--muted-2); text-decoration:line-through; }
.doc-stage{ padding:26px 26px 60px; display:flex; justify-content:center; }

/* ─────────── evrak ─────────── */
.doc{ width:100%; max-width:840px; background:#fff; color:#14232C; padding:40px 52px 60px; box-shadow:var(--shadow); border:1px solid var(--rule); }
.doc-logos{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:16px; margin-bottom:14px; border-bottom:1px solid var(--rule); }
.dl-left, .dl-right{ display:flex; align-items:center; gap:14px; min-width:0; }
.doc-logo{ max-height:44px; max-width:190px; object-fit:contain; display:block; }
.doc-logo-txt{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:15px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.doc-logo-sep{ width:1px; height:26px; background:var(--rule); display:block; }

.doc-head{ border-bottom:2px solid var(--ink); padding-bottom:14px; margin-bottom:4px; }
.doc-org{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent-deep); }
.doc-title{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:30px; font-weight:600; margin:4px 0 0; line-height:1.15; }
.doc-ref{ float:right; font-family:var(--font-mono); font-size:12px; color:var(--muted); border:1px solid var(--rule); padding:3px 9px; border-radius:2px; }
.doc-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin:16px 0 6px; font-size:13.5px; }
.doc-facts div{ display:flex; gap:10px; padding:5px 0; border-bottom:1px solid var(--rule-soft); }
.doc-fact-k{ font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600; font-size:11px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); flex:0 0 118px; padding-top:2px; }
.doc-fact-v{ flex:1 1 auto; }
.doc-h2{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin:30px 0 10px; padding-bottom:5px; border-bottom:1px solid var(--ink); break-after:avoid; page-break-after:avoid; }
.doc-summary{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; }
.sum-cell{ border:1px solid var(--rule); border-left:3px solid var(--s-dot,var(--muted-2)); padding:6px 14px 6px 11px; min-width:112px; }
.sum-n{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:21px; font-weight:600; line-height:1.1; }
.sum-l{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.doc-note{ font-size:14px; white-space:pre-wrap; margin:8px 0 0; }
.doc-sub{ font-size:12.5px; color:var(--muted); margin:6px 0 0; }
.doc-logo-txt.is-quiet{ font-size:12px; color:var(--muted); letter-spacing:.12em; }

/* iç tutanak: şirket bazında açık maddeler */
.doc-plan{ margin-top:10px; }
.dp-group{ margin-bottom:12px; break-inside:avoid; page-break-inside:avoid; }
.dp-head{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600;
  font-size:12px; letter-spacing:.11em; text-transform:uppercase;
  color:#fff; background:var(--ink); padding:4px 9px;
}
.dp-head .n{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0; text-transform:none; color:#9FBAC7; }
.dp-line{ display:flex; gap:10px; align-items:baseline; padding:4px 9px; border-bottom:1px solid var(--rule-soft); font-size:13px; }
.dpl-st{
  flex:0 0 92px; font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; font-weight:600;
  color:var(--s-fg,var(--muted)); background:var(--s-bg,var(--surface-2)); padding:1px 7px; text-align:center;
}
.dpl-t{ flex:0 0 30%; min-width:0; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dpl-x{ flex:1 1 auto; min-width:0; }
.dpl-d{ flex:0 0 auto; font-family:var(--font-mono); font-size:11px; color:var(--muted); }

.doc-waits{ margin-top:10px; }
.dw-group{ margin-bottom:12px; break-inside:avoid; page-break-inside:avoid; }
.dw-head{ font-family:var(--font-display); font-stretch:semi-condensed; font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#8A5600; background:#FBEFD8; padding:4px 9px; }
.dw-head .n{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0; color:var(--muted); text-transform:none; }
.dw-row{ display:flex; gap:10px; align-items:baseline; padding:4px 9px; border-bottom:1px solid var(--rule-soft); font-size:13.5px; }
.dw-no{ flex:0 0 20px; font-family:var(--font-mono); font-size:11.5px; color:var(--muted); text-align:right; }
.dw-t{ flex:1 1 auto; }
.dw-d{ flex:0 0 auto; font-family:var(--font-mono); font-size:11.5px; color:#8A5600; white-space:nowrap; }
.dw-foot{ font-size:11.5px; color:var(--muted); margin:6px 0 0; }

.doc-group{ display:flex; align-items:baseline; gap:10px; font-family:var(--font-display); font-stretch:semi-condensed; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--s-fg,var(--ink)); margin:26px 0 10px; padding-bottom:4px; border-bottom:1px solid var(--s-dot,var(--rule)); break-after:avoid; page-break-after:avoid; }
.doc-group .n{ font-family:var(--font-mono); font-size:11px; letter-spacing:0; color:var(--muted); }
/* iç tutanakta ana başlık şirkettir */
.doc-group.is-cust{ font-size:15px; letter-spacing:.16em; color:var(--ink); border-bottom:2px solid var(--ink); margin-top:30px; }
.doc-item{ break-inside:avoid; page-break-inside:avoid; margin:0 0 16px; padding-left:38px; position:relative; }
.doc-item-no{ position:absolute; left:0; top:1px; width:26px; text-align:right; font-family:var(--font-display); font-stretch:semi-condensed; font-size:15px; font-weight:600; color:var(--muted); font-variant-numeric:tabular-nums; }
.doc-item-title{ font-size:15px; font-weight:600; margin:0 0 4px; line-height:1.35; }
.doc-item-meta{ display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-size:12.5px; color:var(--muted); margin-bottom:6px; }
.doc-item-meta .badge{ font-size:11px; padding:2px 9px; }
.doc-item-meta .mono{ font-family:var(--font-mono); font-size:11.5px; }
.doc-item-meta .mono.late{ color:var(--late); font-weight:700; }
.badge{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--s-fg); background:var(--s-bg); padding:4px 10px; border-radius:100px; white-space:nowrap; }
.doc-open-wait{ margin:0 0 6px; font-size:13px; color:#8A5600; background:#FBEFD8; padding:4px 9px; }
.doc-lines{ list-style:none; margin:0; padding:0; border-left:1px solid var(--rule); }
.doc-lines li{ display:flex; gap:11px; align-items:baseline; padding:2px 0 2px 12px; font-size:13.5px; }
.doc-lines .d{ font-family:var(--font-mono); font-size:11.5px; color:var(--muted); flex:0 0 76px; padding-top:2px; }
.doc-lines .x{ flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.doc-lines .ln-st{
  flex:0 0 auto; font-family:var(--font-display); font-stretch:semi-condensed;
  font-size:10px; letter-spacing:.07em; text-transform:uppercase; font-weight:600;
  color:var(--s-fg,var(--muted)); background:var(--s-bg,var(--surface-2)); padding:1px 7px; white-space:nowrap;
}
.doc-lines li.is-new{ background:var(--signal-wash); }
.doc-lines li.is-new .d{ color:var(--signal); font-weight:700; }
.doc-foot{ margin-top:36px; padding-top:12px; border-top:1px solid var(--rule); font-size:12px; color:var(--muted); display:flex; justify-content:space-between; gap:20px; }
.doc-empty{ color:var(--muted); font-size:14px; font-style:italic; }

/* ─────────── diyaloglar ─────────── */
.dialog{ border:1px solid var(--rule); border-radius:var(--r); padding:0; width:min(640px,94vw); box-shadow:0 24px 60px -20px rgba(12,31,44,.5); background:var(--surface); color:var(--text); }
.dialog-sm{ width:min(440px,94vw); }
.dialog::backdrop{ background:rgba(12,31,44,.45); }
.dialog-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--rule); }
.dialog-head h2{ font-family:var(--font-display); font-stretch:semi-condensed; font-size:16px; letter-spacing:.07em; text-transform:uppercase; margin:0; font-weight:600; }
.dialog-body{ padding:16px; max-height:65vh; overflow:auto; }
.dialog-foot{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--rule); background:var(--surface-2); }
.spacer{ flex:1 1 auto; }
.grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }

/* ─────────── bildirim ─────────── */
.toast{
  position:fixed; left:50%; bottom:26px; transform:translate(-50%,14px);
  background:var(--ink); color:#fff; padding:10px 18px; border-radius:var(--r);
  font-size:14px; box-shadow:var(--shadow); opacity:0; pointer-events:none;
  transition:opacity .18s, transform .18s; z-index:100; max-width:min(620px,90vw);
}
.toast.is-on{ opacity:1; transform:translate(-50%,0); }

/* ─────────── dar ekran ─────────── */
@media (max-width:1500px){
  :root{ --q-pri:72px; --q-who:118px; --q-bar:52px; --q-flag:64px; --q-own:94px; --q-st:110px; }
  .board-kpi{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1400px){
  .task-toggle{ grid-template-columns:26px minmax(0,1.5fr) minmax(0,1fr); }
}
@media (max-width:1180px){
  :root{ --q-pri:72px; --q-who:112px; --q-bar:48px; --q-flag:60px; --q-own:88px; --q-st:106px; }
  .mode-pick{ grid-template-columns:1fr; }
  .tr-task{ flex:0 0 34%; }
  .list-stage{ grid-template-columns:1fr; }
  .board-cols{ grid-template-columns:1fr; }
  .btr{ grid-template-columns:minmax(120px,1.3fr) minmax(70px,.8fr) minmax(90px,1fr) 60px 44px 56px 74px 96px 50px; gap:8px; font-size:12.5px; }
  body.rail-collapsed{ --tl-w:auto; }
  .rail{ grid-row:1; border-left:0; }        /* dar ekranda çizelge listenin üstünde */
  .rail-inner{ position:static; max-height:300px; border-bottom:1px solid var(--rule); }
  .rail-toggle.is-vertical{ writing-mode:horizontal-tb; margin:10px 14px; }
  .task.is-open .task-body{ grid-template-columns:1fr; padding-left:20px; }
  .body-side{ margin-top:14px; }
  .logo-grid{ grid-template-columns:1fr; }
}
@media (max-width:1000px){
  /* minmax(0,…) ŞART: sade 1fr en-az-içerik kadar büyür, evrak paneli
     dar ekranda ekranı taşırdı. */
  .view-minutes{ grid-template-columns:minmax(0,1fr); }
  .meta-panel{ position:static; max-height:none; border-right:0; border-bottom:1px solid var(--rule); }
  .doc{ padding:26px 24px 40px; }
  .doc-logos{ flex-wrap:wrap; }
}
@media (max-width:820px){
  .topbar{ flex-wrap:wrap; height:auto; padding:8px 12px; gap:10px; }
  .brandbar{ flex-wrap:wrap; gap:10px; }
  .brand-cust{ padding-left:10px; }
  /* Beş sekme dar ekrana tek sıraya sığmaz; sarmalı ki sayfa yana kaymasın. */
  .viewtabs{ margin-left:0; order:5; flex-wrap:wrap; }
  .tab{ padding:7px 10px; font-size:13px; }
  .toolbar{ position:static; }
  .search input{ width:100%; }
  .toolbar-end{ margin-left:0; }
  .task-head{ flex-wrap:wrap; padding-bottom:7px; }
  .task-toggle{ grid-template-columns:24px minmax(0,1fr); flex:1 1 100%; }
  .task-latest{ grid-column:2; }
  /* Dar ekranda sabit sütun tutmanın anlamı yok: sığdırmak öncelikli. */
  .task-quick{ width:100%; padding-left:35px; display:flex; flex-wrap:wrap; }
  .q-del{ margin-left:auto; }
  .board-src{ display:flex; width:100%; }
  .bsrc{ flex:1 1 0; padding:8px 6px; }
  .q-cell{ overflow:visible; }
  .q-cell:empty{ display:none; }
  select.pri, select.qs, .t-owner, .t-owner-input{ width:auto; }
  .lifebar{ width:70px; flex:0 0 70px; order:9; }
  .quickadd{ grid-template-columns:20px minmax(0,1fr) auto; row-gap:6px; }
  .quickadd .btn{ grid-column:3; }
  .board{ padding:16px 12px 40px; }
  .board-kpi{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .btr{ grid-template-columns:minmax(0,1fr) 56px 56px 56px; row-gap:4px; }
  .btr-head{ display:none; }
  .bc-lead, .bc-mix, .bc-son, .bc-plan{ grid-column:1/-1; }
  .bc-act{ grid-column:1/-1; text-align:left; }
  .br{ grid-template-columns:64px minmax(0,1fr); row-gap:3px; }
  .br-who, .br-g{ grid-column:2; text-align:left; }
  .grid-2{ grid-template-columns:1fr; }
  .doc-facts{ grid-template-columns:1fr; }
  .addnote-row{ flex-wrap:wrap; }
  .who-row{ padding-left:0; }
  .entry{ grid-template-columns:76px minmax(0,1fr); }
  .entry select.ns{ grid-column:2; justify-self:start; }
  .entry-tools{ grid-column:2; opacity:1; }
  .entry-edit{ grid-column:1/-1; }
  .cust-row{ flex-wrap:wrap; }
  .snap-add{ flex-wrap:wrap; }
  .snap-row{ grid-template-columns:1fr; row-gap:3px; }
  .sn-act{ justify-content:flex-start; }
  .cust-head{ padding:8px 10px; }
  .ch-leads{ margin-left:0; flex:1 1 100%; }
  .todo-row{ flex-wrap:wrap; row-gap:4px; }
  .tr-task{ flex:1 1 100%; white-space:normal; }
  .tr-text{ flex:1 1 100%; padding-left:10px; }
  .dpl-t{ flex:1 1 100%; }
  .dp-line{ flex-wrap:wrap; }
  .dw-row{ flex-wrap:wrap; }
  .dw-d{ flex:1 1 100%; padding-left:30px; white-space:normal; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}

/* ─────────── baskı: yalnızca evrak ─────────── */
@media print{
  @page{ size:A4 portrait; margin:14mm 12mm; }
  html,body{ background:#fff; }
  body{ font-size:10.5pt; }
  .topbar,.statrail,.toolbar,.view-list,.view-todo,.view-board,.view-settings,.meta-panel,.toast,.menu,dialog{ display:none !important; }
  /* Görünümden bağımsız: Liste sekmesindeyken Ctrl+P de tutanağı bassın */
  .view-minutes{ display:block !important; }
  .doc-stage{ padding:0; display:block; }
  .doc{ max-width:none; width:auto; border:0; box-shadow:none; padding:0; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .doc-item,.dw-group,.dp-group,.doc-waits,.doc-logos{ break-inside:avoid; }
  .badge,.doc-lines li.is-new,.doc-lines .ln-st,.sum-cell,.dw-head,.dp-head,.dpl-st,.doc-open-wait,.flag-late{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
