:root {
  --bg:#0f172a;
  --surface:#111827;
  --muted:#9ca3af;
  --text:#e5e7eb;
  --primary:#22c55e;
  --danger:#ef4444;

  /* Kanban düzen değişkenleri */
  --kanban-gap: .9rem;
  --kanban-list-max-h: clamp(380px, 50vh, 600px);
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial}

.container{padding:2rem}
.center{min-height:100dvh;display:grid;place-items:center}

.card{background:var(--surface);padding:1.25rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.card-title{margin:0 0 1rem;font-size:1.25rem}

.form label{display:grid;gap:.5rem;margin-bottom:.75rem}
.form input,.form textarea,.form select{padding:.6rem;border-radius:.6rem;border:1px solid #374151;background:#0b1220;color:var(--text)}

.btn{padding:.6rem .9rem;border:none;border-radius:.7rem;background:#1f2937;color:var(--text);cursor:pointer}
.btn.primary{background:var(--primary);color:#052e12;font-weight:600}
.btn.danger{background:var(--danger);color:#2b0909}

.w-96{width:min(28rem,90vw)} .w-full{width:100%}
.mt-2{margin-top:.5rem} .text-muted{color:var(--muted)}

.topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem;border-bottom:1px solid #1f2937;background:var(--surface);position:sticky;top:0;z-index:5
}
.brand{font-weight:700}
.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

.wrap{display:grid;gap:1rem;padding:1rem}
@media(min-width:900px){.wrap{grid-template-columns:1.5fr 1fr}}

.kanban{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:700px){.kanban{grid-template-columns:repeat(3,1fr)}}

.column{
  background:#0b1220;border:1px solid #1f2937;border-radius:1rem;padding:.75rem;
  min-height:320px;
}
.column h3{margin:.2rem .2rem 1rem}

/* Her sütunda kendi scroll’u; sayfa toplamı uzamaz */
.list{
  display:grid;
  gap:var(--kanban-gap);
  max-height:var(--kanban-list-max-h);
  overflow-y:auto;
  padding-right:.25rem;
  min-height:0;
}

/* KARTLAR — metinler KISALTILMAZ; kartlar içerik kadar UZAR */
.card-task{
  background:var(--surface);
  border:1px solid #1f2937;
  border-radius:.8rem;
  padding:.7rem;
  display:grid;
  gap:.6rem;
  height:auto;
  overflow:visible;
  word-break:break-word;
  position:relative;
  z-index:0;
}
.card-task:hover{ box-shadow:0 6px 18px rgba(0,0,0,.25); z-index:2; }
.card-task > div, .card-task small{ overflow:visible; white-space:normal; text-overflow:clip; }

/* Scrollbar tasarımı (sütunlar için) */
.list::-webkit-scrollbar{width:10px}
.list::-webkit-scrollbar-track{
  background:#0b1220;border:1px solid #1f2937;border-radius:1rem;
}
.list::-webkit-scrollbar-thumb{
  background:#1f2937;border-radius:1rem;box-shadow:inset 0 0 0 2px #0b1220;
}
.list:hover::-webkit-scrollbar-thumb{background:#374151}
.list{scrollbar-color:#374151 #0b1220;scrollbar-width:thin}

.badge{display:inline-block;padding:.25rem .5rem;border-radius:.5rem;background:#1f2937;color:var(--muted);font-size:.75rem}
.row{display:flex;gap:.6rem}

/* ---- Login kartı: logomark ve sosyal ikonlar ---- */
.logomark{
  width:64px;height:64px;border-radius:1rem;background:#0b1220;border:1px solid #1f2937;
  display:grid;place-items:center;margin:0 auto 1rem;box-shadow:0 6px 18px rgba(0,0,0,.25), inset 0 0 0 2px #0b1220;
}
.socials, .socials-header{display:flex;gap:.75rem;align-items:center;justify-content:center}
.socials{margin-top:.75rem}
.socials-header{margin-left:.25rem}

/* Genel icon butonu */
a.icon-btn{ text-decoration:none }
.icon-btn{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:9999px;background:#1f2937;border:1px solid #2a3443;color:#e5e7eb;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.icon-btn svg{width:22px;height:22px}
.icon-btn:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 8px 22px rgba(0,0,0,.35)}

/* Küçük (header) varyant */
.icon-btn.sm{width:36px;height:36px}
.icon-btn.sm svg{width:18px;height:18px}

/* Hover renkleri — LinkedIn MAVİ, GitHub koyu gri */
.icon-btn.linkedin:hover{ background:#0a66c2 !important; color:#ffffff !important; }
.icon-btn.github:hover{ background:#24292e !important; color:#ffffff !important; }

/* Erişilebilirlik için görünmez metin */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Dialog */
.dialog{border:none;border-radius:1rem;padding:0}
.dialog::backdrop{background:rgba(0,0,0,.6)}

/* Takvim kutusu */
.calendar{background:#0b1220;border:1px solid #1f2937;border-radius:1rem;padding:.75rem}

/* FullCalendar varsayılan çizgi rengi */
.fc-theme-standard .fc-scrollgrid{border-color:#1f2937}

/* ---- FullCalendar LIST view karanlık tema düzeltmeleri ---- */
.fc .fc-list, .fc .fc-list table, .fc-theme-standard .fc-list, .fc-theme-standard .fc-list table{
  background:#0b1220; color:var(--text); border-color:#1f2937;
}
.fc .fc-list-table tr{border-color:#1f2937}
.fc .fc-list-day-cushion{
  background:#111827 !important; color:var(--text) !important;
  border-top:1px solid #1f2937; border-bottom:1px solid #1f2937;
}
.fc .fc-list-event:hover td{background:#111827}
.fc .fc-list-event-time, .fc .fc-list-event-title{color:var(--text)}
.fc .fc-list-event-title a{color:var(--text);text-decoration:none}
.fc .fc-list-event-title a:hover{text-decoration:underline}

/* FullCalendar tarih/başlık küçük iyileştirme */
.fc .fc-daygrid-day-number{color:var(--muted)}
.fc .fc-toolbar-title{font-size:1rem}
