/* ───────────────────────────────────────────────────────────────────────
   CWS · Dashboard / Anasayfa — Çelikkol Görünümü (2026-05-08)
   Prototipteki dash görünümü: greeting + 5+5 stat + üretim akışı +
   stok yerleri/sözleşme termin yan yana + son aktiviteler 2 sütun.
   ─────────────────────────────────────────────────────────────────────── */

/* Dashboard sayfası tam genişlikte — layout.css'in max-width:1440px sınırını override */
#app #page-dashboard{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

/* Container */
#dash-content{
  padding:24px 28px;
  font-family:'Mulish', system-ui, sans-serif;
  color:var(--text);
}

/* 6'lı stat grid */
.dash-stats.stats-6{ grid-template-columns:repeat(6,1fr) }
@media (max-width: 1300px){
  .dash-stats.stats-6{ grid-template-columns:repeat(3,1fr) }
}
@media (max-width: 700px){
  .dash-stats.stats-6{ grid-template-columns:repeat(2,1fr) }
}

/* === Greeting Header === */
.dash-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:24px; flex-wrap:wrap; gap:20px;
  border-bottom:1px solid var(--border, #e5e1d8);
  padding-bottom:18px;
}
.dash-eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; letter-spacing:.32em; text-transform:uppercase;
  color:#8b6f3f; margin-bottom:6px;
}
.dash-greeting{
  font-family:'Mulish', sans-serif; font-weight:300;
  font-size:32px; line-height:1.05; margin:0;
  color:var(--text); letter-spacing:.5px;
}
.dash-greeting b{ font-weight:600; color:var(--brand) }
.dash-date{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:#888; margin-top:8px;
}
.dash-summary{
  text-align:right;
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; letter-spacing:.04em; color:#888; line-height:1.7;
}
.dash-summary b{ color:var(--text); font-weight:600; font-size:13px }

/* === Section başlığı === */
.dash-section{ margin-bottom:24px }
.dash-section-title{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; letter-spacing:.32em; text-transform:uppercase;
  color:#8b6f3f; margin-bottom:10px; font-weight:600;
}

/* === Stat kartları (5'li grid) === */
.dash-stats{
  display:grid; gap:12px;
}
.dash-stats.stats-5{ grid-template-columns:repeat(5,1fr) }
.dash-stats.stats-4{ grid-template-columns:repeat(4,1fr) }
@media (max-width: 1100px){
  .dash-stats.stats-5,.dash-stats.stats-4{ grid-template-columns:repeat(2,1fr) }
}

.dash-stat{
  background:var(--paper, #fff);
  border:1px solid var(--border, #e5e1d8);
  border-radius:4px;
  padding:14px 16px;
  position:relative;
  transition:border-color .15s, box-shadow .15s;
  cursor:default;
}
.dash-stat:hover{
  border-color:#8b6f3f;
  box-shadow:0 1px 4px rgba(139,111,63,.1);
}
.dash-stat .ic{
  font-size:18px; color:#8b6f3f; opacity:.7;
  margin-bottom:6px; line-height:1;
}
.dash-stat .lbl{
  font-family:'IBM Plex Mono', monospace;
  font-size:9px; letter-spacing:.22em; text-transform:uppercase;
  color:#888; margin-bottom:4px;
}
.dash-stat .val{
  font-family:'Mulish', sans-serif; font-weight:300;
  font-size:28px; line-height:1; color:var(--text);
  margin-bottom:4px; letter-spacing:.5px;
}
.dash-stat .sub{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; color:#888; letter-spacing:.04em;
}
.dash-stat .delta{
  position:absolute; top:14px; right:16px;
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; padding:2px 6px; border-radius:2px;
}
.dash-stat .delta.up{ color:#7a8b7a; background:rgba(122,139,122,.1) }
.dash-stat .delta.down{ color:#a04040; background:rgba(160,64,64,.1) }

/* === Üretim Akışı (5 aşama) === */
.dash-flow{
  display:grid; grid-template-columns:repeat(5,1fr); gap:0;
  background:var(--paper, #fff);
  border:1px solid var(--border, #e5e1d8);
  border-radius:4px; overflow:hidden;
}
.dash-flow-step{
  padding:14px 16px;
  border-right:1px solid var(--border, #e5e1d8);
  position:relative;
}
.dash-flow-step:last-child{ border-right:0 }
.dash-flow-step .n{
  font-family:'IBM Plex Mono', monospace;
  font-size:9px; letter-spacing:.22em; color:#8b6f3f;
  text-transform:uppercase; margin-bottom:6px;
}
.dash-flow-step .name{
  font-family:'Mulish', sans-serif; font-weight:500;
  font-size:14px; color:var(--text); margin-bottom:8px;
}
.dash-flow-step .meta{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; color:#888;
}
.dash-flow-step .bar{
  position:absolute; bottom:0; left:0; height:3px;
  background:#8b6f3f;
}
@media (max-width: 1100px){
  .dash-flow{ grid-template-columns:repeat(2,1fr) }
}

/* === 2'li grid (Stok Yerleri + Sözleşme Termin / Etkinlikler) === */
.dash-grid-2{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  margin-bottom:24px;
}
@media (max-width: 1100px){
  .dash-grid-2{ grid-template-columns:1fr }
}

.dash-card{
  background:var(--paper, #fff);
  border:1px solid var(--border, #e5e1d8);
  border-radius:4px;
}
.dash-card-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 16px;
  border-bottom:1px solid var(--border, #e5e1d8);
}
.dash-card-head h3{
  margin:0; font-family:'Mulish', sans-serif; font-weight:500;
  font-size:14px; color:var(--text);
}
.dash-card-head .meta{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; color:#888; letter-spacing:.04em;
}
.dash-card-body{ padding:0 }

/* Stok yerleri liste — depo bazlı */
.dash-depo-row{
  display:flex; align-items:center; gap:10px;
  padding:8px 16px;
  border-bottom:1px solid var(--border, #e5e1d8);
  font-size:12px;
}
.dash-depo-row:last-child{ border-bottom:0 }
.dash-depo-row .nm{ flex:1; font-weight:500 }
.dash-depo-row .vl{
  font-family:'IBM Plex Mono', monospace;
  color:#8b6f3f; font-weight:600;
}

/* Sözleşme termin liste */
.dash-szl-row{
  padding:10px 16px;
  border-bottom:1px solid var(--border, #e5e1d8);
  display:grid; grid-template-columns:auto 1fr auto; gap:12px;
  align-items:center; font-size:12px;
}
.dash-szl-row:last-child{ border-bottom:0 }
.dash-szl-row .kod{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; color:#8b6f3f; font-weight:700;
}
.dash-szl-row .pr{
  font-weight:500;
}
.dash-szl-row .term{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; padding:3px 8px; border-radius:2px;
  letter-spacing:.04em;
}
.dash-szl-row .term.ok{ background:rgba(122,139,122,.12); color:#5a7a5a }
.dash-szl-row .term.warn{ background:rgba(184,90,58,.12); color:#b85a3a }
.dash-szl-row .term.late{ background:rgba(160,64,64,.12); color:#a04040 }

/* Etkinlikler feed */
.dash-act-row{
  padding:8px 16px;
  border-bottom:1px solid var(--border, #e5e1d8);
  display:grid; grid-template-columns:32px 1fr auto; gap:10px;
  align-items:center; font-size:12px;
}
.dash-act-row:last-child{ border-bottom:0 }
.dash-act-row .act-ic{
  width:28px; height:28px; border-radius:50%;
  background:rgba(139,111,63,.1); color:#8b6f3f;
  display:flex; align-items:center; justify-content:center; font-size:13px;
}
.dash-act-row .act-time{
  font-family:'IBM Plex Mono', monospace;
  font-size:10px; color:#888;
}
.dash-act-row .act-text{ line-height:1.4 }
.dash-act-row .act-text b{ color:var(--text); font-weight:600 }

/* === Eski rolü-bazlı bildirim kartları (alta) === */
.dash-legacy-section{
  margin-top:24px;
  border-top:2px solid var(--border, #e5e1d8);
  padding-top:18px;
}
.dash-legacy-section .dash-section-title{ color:#666 }

/* "Henüz veri yok" mesajı */
.dash-empty{
  padding:30px 16px;
  text-align:center;
  color:#999; font-size:12px; font-style:italic;
}
