/* =========================================================
   Helpdesk UI — Global Styles (clean build)
   Son güncelleme: 2025-09-29
   Not: Açıklamalar eğitim amaçlıdır; prod'da sadeleştirilebilir.
   ========================================================= */

/* --------- Tipografi ve renk değişkenleri --------- */
:root{
  --hd-text:    #1f2937;  /* gövde metin   */
  --hd-heading: #0f172a;  /* başlık rengi  */
  --hd-muted:   #6b7280;  /* açıklama/yardım metinleri */
}

body{
  font-family: "Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  color: var(--hd-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5,h6{
  color: var(--hd-heading);
  font-weight: 700;
  letter-spacing: .2px;
}

/* --------- Genel layout genişliği --------- */
.container-xxl{ max-width:1600px; }

/* --------- Hero/üst görsel şerit --------- */
.hero-visual{
  background:
    radial-gradient(ellipse at 20% 10%, rgba(69,170,73,.35), transparent 60%),
    linear-gradient(135deg,#1f7a1f,#0b3b0b);
  color:#fff;
}
.hero-visual h4{
  font-size:1.35rem;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
/* Yeni talep sayfası özel başlık (opsiyonel) */
.hero-visual--new h4{
  font-size:1.35rem;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}

/* =========================================================
   Dashboard KPI kartları
   ========================================================= */
.kpi-card{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color:#fff;
  border-radius:12px;
  padding:10px 14px;
  backdrop-filter: blur(4px);
}
.kpi-title{ font-size:.9rem; opacity:.9; }
.kpi-value{ font-size:1.6rem; font-weight:700; }

/* =========================================================
   Filtre barı (tek satır, kaydırılabilir)
   ========================================================= */
.filter-bar{ border-radius:12px; }
.filters-inline{
  display:flex; align-items:center; gap:.6rem;
  flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin;
}
.filters-inline .form-control,
.filters-inline .form-select{ min-width:150px; }
.w-search-lg{ min-width:360px; flex:1 1 auto; }
.w-180{ min-width:180px; }
.w-240{ min-width:240px; }
.w-260{ min-width:260px; }
.w-160{ min-width:160px; }

/* =========================================================
   Liste tabloları (tek satır, taşmayan)
   ========================================================= */
.table-roomy td, .table-roomy th{ padding:.85rem 1rem; }
.table-fixed{ table-layout: fixed; }
.table-nowrap td, .table-nowrap th{ white-space: nowrap; }
.td-ellipsis{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Sütun genişlikleri – list.html ile eşleşiyor */
.col-code{ width:9.5rem; }        /* T-20250928-5 gibi kodlar */
.col-title{ width:28%; }          /* Konu */
.col-cat{ width:22%; }            /* Kategori (uzun path) */
.col-org{ width:12%; }            /* Müşteri */
.col-requester{ width:12%; }      /* Talebi Açan */
.col-status{ width:8%; }          /* Durum */
.col-priority{ width:8%; }        /* Öncelik */
.col-attach{ width:4.5rem; text-align:center; } /* Ek adedi */
.col-date{ width:12rem; }         /* Tarih */
.col-actions{ width:5.5rem; }     /* Detay butonu */

/* İsteğe bağlı: 2. hücre (Konu) için güvenli max genişlik */
.table-roomy tbody td:nth-child(2){ max-width: 520px; }

/* =========================================================
   Navbar / Kullanıcı menüsü (hamburger + hover dropdown)
   ========================================================= */
.burger{ font-weight:700; line-height:1; padding:.35rem .5rem; }

/* Hover ile açılan dropdown (masaüstü) */
@media (hover:hover) and (pointer:fine) {
  .dropdown-hover:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Dropdown öğelerinde belirgin hover vurgusu */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background-color: rgba(0, 0, 0, 0.08);
}

/* Navbar hamburger görünürlüğü */
.navbar-toggler { border-color: rgba(0,0,0,.15); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(13,110,253,.25); }

/* Sadece kullanıcı menüsü hamburger ikonunu küçült */
#userMenu .navbar-toggler-icon {
  width: 18px;
  height: 18px;
  background-size: 18px 18px;
}
/* Buton pedleri (isteğe bağlı) */
#userMenu.btn {
  padding: .25rem .35rem;
  line-height: 1;
  border-radius: .4rem;
}

/* =========================================================
   Form/Tipografi dokunuşları (global)
   ========================================================= */
.form-label{ color: var(--hd-heading); font-weight: 600; }
.form-text, .text-muted{ color: var(--hd-muted) !important; }

.form-control, .form-select{
  font-size: .98rem;
  border-color: #dfe3ea;
}
.form-control::placeholder{ color: #9aa3b2; }

.card .card-title{ font-weight: 600; }
.btn{ font-weight: 600; }

/* =========================================================
   Yeni Talep sayfası (scoped) — sadece .ticket-new içinde
   ========================================================= */
.ticket-new .card{ border-radius:14px; }
.ticket-new .card-body{ padding: 1.25rem; }

.ticket-new .form-label{ color:#0f172a; font-weight:600; }
.ticket-new .form-text,
.ticket-new .text-muted{ color:#6b7280 !important; }

/* Giriş alanları kompakt ve tok */
.ticket-new input.form-control,
.ticket-new select.form-select{
  height:46px;
  padding:0 .9rem;
  border-radius:10px;
  font-size:.98rem;
  border-color:#dfe3ea;
}

/* Çok satırlı alanlar */
.ticket-new textarea.form-control{
  min-height:180px;
  height:auto;
  padding:.8rem .9rem;
  border-radius:10px;
  border-color:#dfe3ea;
}

/* Organizasyon alanını kompakt tut */
.ticket-new #id_organization{
  max-width:320px;
  width:100%;
}

/* Kategori select’leri geniş dursun (4 kademeyi rahat sığdırma) */
.ticket-new #cat1, .ticket-new #cat2, .ticket-new #cat3, .ticket-new #cat4{
  min-width:160px;
}
@media (min-width: 992px){
  .ticket-new #cat1, .ticket-new #cat2, .ticket-new #cat3, .ticket-new #cat4{
    min-width:200px;
  }
}

/* Öncelik radio’ları */
.ticket-new .form-check-inline .form-check-input{ margin-top:.1rem; }
.ticket-new .form-check-inline .form-check-label{
  font-weight:600; margin-left:.25rem; margin-right:.9rem;
}
.ticket-new .form-check-input:checked{
  background-color:#0d6efd; border-color:#0d6efd;
}

/* Butonlar */
.ticket-new .btn{ font-weight:600; }
.ticket-new .btn-primary{ box-shadow:0 10px 24px rgba(13,110,253,.25); }
.ticket-new .btn-outline-secondary:hover{ background:#f3f4f6; }

/* Dropzone (dosya yükleme daveti) */
.dropzone{
  border: 1.5px dashed rgba(0,0,0,.18);
  border-radius: 10px;
  padding: 1rem;
  text-align: center;
  background: rgba(0,0,0,.02);
  transition: .15s ease;
  cursor: pointer;
}
.dropzone.dropzone-hover{
  border-color: rgba(13,110,253,.6);
  background: rgba(13,110,253,.06);
}
.dropzone .dz-invite .btn{ vertical-align: baseline; }
.dz-list li{ background:#fff; }

/* Sağ kartı yapışkan tut (detay ve yeni talep sağ paneli) */
.sticky-card{ position: sticky; top: 84px; }
