/* MÜSİAD Gıda SK — takvim + modal + modül stilleri (app.css'i tamamlar) */

/* ---------- Sayfa başlığı / araç çubuğu ---------- */
.page-head { display:flex; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.page-head h1 { font-size:1.3rem; font-weight:800; color:var(--navy-900); margin:0; }
.page-head .ph-actions { margin-left:auto; display:flex; gap:8px; flex-wrap:wrap; }

/* ---------- Takvim (Google tarzı aylık) ---------- */
.cal-wrap { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.cal-top { display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line); }
.cal-title { font-size:1.15rem; font-weight:800; color:var(--navy-900); min-width:170px; text-transform:capitalize; }
.cal-nav { display:flex; gap:6px; }
.cal-legend { margin-left:auto; display:flex; gap:14px; font-size:.76rem; color:var(--ink-500); flex-wrap:wrap; }
.cal-legend span { display:inline-flex; align-items:center; gap:5px; font-weight:600; }
.cal-dot { width:10px; height:10px; border-radius:3px; display:inline-block; }
.dot-meeting { background:#2563EB; } .dot-program { background:var(--gold-500); } .dot-visit { background:#1F8A5B; }

.cal-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.cal-dow { background:#F7F8FB; text-align:center; padding:8px 4px; font-size:.72rem; font-weight:700; color:var(--ink-500);
  border-bottom:1px solid var(--line); border-right:1px solid var(--line); text-transform:uppercase; letter-spacing:.3px; }
.cal-dow:nth-child(7n) { border-right:none; }
.cal-cell { min-height:108px; border-bottom:1px solid var(--line); border-right:1px solid var(--line);
  padding:5px 6px; cursor:pointer; position:relative; transition:background .12s; }
.cal-cell:nth-child(7n) { border-right:none; }
.cal-cell:hover { background:#FAFBFE; }
.cal-cell.other { background:#FCFCFD; }
.cal-cell.other .cal-daynum { color:#C2C8D4; }
.cal-cell.today { background:#FFFBEF; }
.cal-daynum { font-size:.82rem; font-weight:700; color:var(--ink-900); display:inline-flex; width:24px; height:24px;
  align-items:center; justify-content:center; }
.cal-cell.today .cal-daynum { background:var(--gold-500); color:var(--navy-900); border-radius:50%; }
.cal-ev { display:block; font-size:.72rem; line-height:1.25; padding:2px 6px; border-radius:5px; margin-top:3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; font-weight:600; cursor:pointer; }
.cal-ev.ev-meeting { background:#2563EB; } .cal-ev.ev-program { background:var(--gold-600); }
.cal-ev.ev-visit { background:#1F8A5B; }
.cal-ev.done { opacity:.5; }
.cal-more { font-size:.68rem; color:var(--ink-500); font-weight:700; margin-top:2px; cursor:pointer; }
@media (max-width:991px){
  .cal-cell { min-height:64px; padding:3px; }
  .cal-ev { font-size:0; padding:3px; height:6px; margin-top:2px; border-radius:3px; }
  .cal-legend { display:none; }
  .cal-title { font-size:1rem; min-width:120px; }
}

/* ---------- Liste / kart ---------- */
.list-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:0; overflow:hidden; }
.row-item { display:flex; align-items:center; gap:12px; padding:12px 14px; border-top:1px solid var(--line); cursor:pointer; transition:background .12s; }
.row-item:first-child { border-top:none; }
.row-item:hover { background:#FAFBFE; }
.row-main { min-width:0; flex:1; }
.row-title { font-weight:700; color:var(--navy-900); font-size:.95rem; }
.row-sub { font-size:.8rem; color:var(--ink-500); margin-top:1px; }
.row-meta { text-align:right; font-size:.78rem; color:var(--ink-500); white-space:nowrap; }

/* ---------- Durum rozetleri ---------- */
.st { border-radius:7px; padding:3px 9px; font-size:.72rem; font-weight:700; display:inline-block; white-space:nowrap; }
.st-planlandi,.st-bekliyor { background:#EEF2FF; color:#3949AB; }
.st-devam       { background:#FFF4DE; color:#B7791F; }
.st-tamam,.st-tamamlandi,.st-yapildi { background:#E3F5EC; color:#1F8A5B; }
.st-iptal,.st-pasif { background:#FBE9E7; color:#B42318; }
.st-ertelendi   { background:#F3F0FF; color:#6D5BD0; }

/* ---------- Görev satırı (checkbox) ---------- */
.task-chk { width:20px; height:20px; flex-shrink:0; cursor:pointer; accent-color:var(--ok); }
.row-item.overdue { background:#FFF7F6; border-left:3px solid var(--danger); }

/* ---------- Görevli özet kartları ---------- */
.assignee-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; }
.assignee-card { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px; cursor:pointer; transition:box-shadow .12s, border-color .12s; }
.assignee-card:hover { box-shadow:0 4px 14px rgba(20,33,61,.08); }
.assignee-card.has-overdue { border-color:#F3C0BA; background:#FFFBFA; }
.ac-avatar { width:40px; height:40px; border-radius:50%; background:var(--navy-900); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0; }
.assignee-card.has-overdue .ac-avatar { background:var(--danger); }
.ac-body { min-width:0; }
.ac-name { font-weight:700; color:var(--navy-900); font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ac-stats { font-size:.76rem; color:var(--ink-500); }

/* ---------- İlerleme çubuğu ---------- */
.prog-wrap { height:9px; background:#EEF1F6; border-radius:6px; overflow:hidden; }
.prog-bar { height:100%; background:linear-gradient(90deg,var(--ok),#34b377); border-radius:6px; transition:width .3s; }

/* ---------- KPI tıklanabilir ---------- */
.kpi-card { cursor:pointer; }
.kpi-card:hover { box-shadow:0 4px 14px rgba(20,33,61,.08); }

/* ---------- Modal ---------- */
.modal-back { position:fixed; inset:0; background:rgba(20,33,61,.5); z-index:1050; display:flex;
  align-items:flex-start; justify-content:center; padding:24px 14px; overflow-y:auto; }
.modal-box { background:#fff; border-radius:16px; width:100%; max-width:580px; box-shadow:0 20px 60px rgba(0,0,0,.3);
  animation:pop .15s ease; margin:auto; }
.modal-box.lg { max-width:760px; }
@keyframes pop { from{ transform:translateY(10px); opacity:0 } to{ transform:none; opacity:1 } }
.modal-head { display:flex; align-items:center; padding:16px 20px; border-bottom:1px solid var(--line); }
.modal-head h3 { font-size:1.08rem; font-weight:800; color:var(--navy-900); margin:0; }
.modal-head .btn-x { margin-left:auto; background:none; border:none; font-size:1.3rem; color:var(--ink-500); cursor:pointer; line-height:1; }
.modal-body { padding:18px 20px; max-height:70vh; overflow-y:auto; }
.modal-foot { padding:14px 20px; border-top:1px solid var(--line); display:flex; gap:10px; justify-content:flex-end; }

/* ---------- Çoklu üye seçim (ziyaret) ---------- */
.pick-list { border:1px solid var(--line); border-radius:10px; max-height:240px; overflow-y:auto; }
.pick-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border-top:1px solid var(--line); cursor:pointer; }
.pick-item:first-child { border-top:none; }
.pick-item:hover { background:#FAFBFE; }
.pick-item.on { background:var(--gold-100); }
.pick-item input { width:18px; height:18px; }

/* ---------- Toast ---------- */
.toast-root { position:fixed; bottom:18px; right:18px; z-index:1080; display:flex; flex-direction:column; gap:8px; }
.toast-msg { background:var(--navy-900); color:#fff; padding:11px 16px; border-radius:10px; font-size:.86rem; font-weight:600;
  box-shadow:0 8px 24px rgba(0,0,0,.25); animation:pop .15s ease; max-width:340px; }
.toast-msg.ok { background:#1F8A5B; } .toast-msg.err { background:#B42318; }

/* ---------- Detay satırları ---------- */
.detail-grid { display:grid; grid-template-columns:auto 1fr; gap:8px 16px; font-size:.9rem; }
.detail-grid dt { color:var(--ink-500); font-weight:600; }
.detail-grid dd { margin:0; color:var(--ink-900); }
.note-block { background:#F7F8FB; border:1px solid var(--line); border-radius:10px; padding:12px 14px; white-space:pre-wrap;
  font-size:.9rem; line-height:1.5; }
.note-block.label { font-size:.72rem; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-bottom:5px; }
