/* ===== SporKariyerim — İşveren (Kurumsal) Paneli ===== */

.panel-grid {
  display: grid;
  grid-template-columns: 264px 1fr;
  gap: 32px;
  align-items: start;
  padding: 36px 0 72px;
}

/* --- Sidebar --- */
.panel-sidebar {
  background: #fff;
  border: 1px solid #EAF0F7;
  border-radius: 16px;
  padding: 22px 18px;
  position: sticky;
  top: 132px;
  box-shadow: 0 4px 16px rgba(11, 31, 77, .04);
}
.panel-firm { display: flex; align-items: center; gap: 12px; padding: 0 6px 16px; border-bottom: 1px solid #EAF0F7; margin-bottom: 14px; }
.panel-firm-logo {
  flex: 0 0 48px; width: 48px; height: 48px; border-radius: 12px;
  object-fit: cover; background: #eef8e6; color: var(--green-dark);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 18px; overflow: hidden;
}
.panel-firm-logo img { width: 100%; height: 100%; object-fit: cover; }
.panel-firm-name { font-weight: 700; font-size: 15px; color: var(--navy); line-height: 1.25; }
.panel-firm-mail { font-size: 12px; color: var(--text-muted); word-break: break-all; }
.panel-nav { list-style: none; display: flex; flex-direction: column; gap: 3px; margin: 0; padding: 0; }
.panel-nav a {
  display: flex; align-items: center; gap: 11px;
  padding: 11px 12px; border-radius: 10px;
  font-size: 14.5px; font-weight: 600; color: #3d4a5c; transition: .15s;
}
.panel-nav a:hover { background: var(--soft-gray); color: var(--navy); }
.panel-nav a.active { background: #eef8e6; color: var(--green-dark); }
.panel-nav a svg { flex: 0 0 18px; }
/* Pasif özelliğin menü öğesi (bkz. AdayHavuzu): bağlantı değil, solgun satır +
   küçük "Yakında" rozeti. Tek satırda kalsın diye etiket kırılmaz ve rozet
   daralmaz.

   DİKKAT — aday paneli CSS'i (candidate_panel.css) bu sayfada da yüklü
   (layout tüm stil dosyalarını :app ile çekiyor) ve `.panel-nav span`'a menü
   bağlantısıyla aynı dolguyu/yazı boyunu veriyor (satırlar bu yüzden ~66px);
   o kural (0,1,1) buradaki rozeti de yakalıyordu ve rozet 82px'lik bir kutuya
   dönüşüp sağa taşmıştı (Emre: "sıkışık duruyor", 2026-09-08). Aşağıdaki
   seçiciler (0,3,0) bilerek daha özgül. Etiketin sağ dolgusu sıfır: 264px
   sidebar'ın 204px iç genişliğine ancak öyle sığıyor (Chrome'da ölçüldü,
   ~6px pay kalıyor). */
.panel-nav .nav-passive {
  display: flex; align-items: center; gap: 11px;
  padding: 11px 12px; border-radius: 10px;
  font-size: 14.5px; font-weight: 600; color: #a3adbb; cursor: default;
}
.panel-nav .nav-passive svg { flex: 0 0 18px; }
.panel-nav .nav-passive .nav-label { white-space: nowrap; padding-right: 0; color: inherit; } /* color: sızan kural rengi de eziyor */
.panel-nav .nav-passive .nav-soon {
  display: inline-block; flex-shrink: 0; margin-left: auto;
  padding: 1px 6px; border-radius: 20px;
  font-size: 10px; font-weight: 700; line-height: 1.5;
  background: #FFF6E5; color: #8A5A00; border: 1px solid #F0B429;
}
/* "Yakında" ekranı (company/candidate_pool/yakinda) */
.soon-hero { text-align: center; max-width: 560px; margin: 0 auto; padding: 36px 16px 28px; }
.soon-hero .soon-icon {
  width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #FFF6E5; color: #8A5A00;
}
.soon-hero h2 { margin: 12px 0 10px; font-size: 22px; color: var(--navy); }
.soon-hero p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: #3d4a5c; }
.soon-hero .btn { margin-top: 8px; }
.pkt-soon { font-size: 10.5px; padding: 1px 7px; vertical-align: middle; }
.panel-nav .nav-sep { border-top: 1px solid #EAF0F7; margin: 10px 6px; }
.panel-sidebar .btn { width: 100%; justify-content: center; margin-top: 14px; }

/* --- Panel hero (mockup isveren.html) --- */
.panel-hero {
  background: linear-gradient(135deg, #63C61A, #55ad14);
  border-radius: 16px; padding: 30px 34px; color: #fff; margin-bottom: 28px;
  display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
}
.panel-hero h1 { margin: 0 0 8px; font-size: 26px; font-weight: 800; }
.panel-hero p { margin: 0; font-size: 15px; opacity: .95; max-width: 560px; }
.panel-hero .btn { flex-shrink: 0; }

/* --- KPI kartları (mockup stat-strip) --- */
.stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
.stat-box {
  background: #fff; border: 1px solid #EAF0F7; border-radius: 14px;
  padding: 20px; text-align: center; box-shadow: 0 4px 16px rgba(11, 31, 77, .04);
}
.stat-box .stat-num { font-size: 28px; font-weight: 800; color: var(--green); }
.stat-box.blue .stat-num { color: var(--blue); }
.stat-box .stat-lbl { font-size: 13px; color: #5a6a82; margin-top: 2px; }

/* --- Panel kartı / tablo --- */
.panel-card {
  background: #fff; border: 1px solid #EAF0F7; border-radius: 16px;
  padding: 26px; box-shadow: 0 4px 16px rgba(11, 31, 77, .04); margin-bottom: 28px;
}
.panel-card-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.panel-card-head h2 { font-size: 19px; font-weight: 700; color: var(--navy); margin: 0; }

/* Panel kartı içindeki filtre.
 *
 * Public sayfalardaki .filter-bar BURADA KULLANILAMAZ: o kutunun kendi beyaz
 * kart görünümü, gölgesi ve alt marjı var. Panel kartının başlık satırına
 * konulduğunda kart gölgesi havada duran ayrı bir kutu gibi görünüyordu.
 *
 * View'lar bunu satır içi style ile bastırmaya çalışıyordu ama form_with bare
 * `style:` seçeneğini ETİKETE BASMIYOR (html: { style: } gerekiyor) — o yüzden
 * hiç etkisi olmamıştı. Doğrusu ayrı bir sınıf. */
.panel-filter {
  display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
  margin: 0; padding: 0; background: transparent; border: none; box-shadow: none;
  flex: 1 1 320px; max-width: 520px; justify-content: flex-end;
}
.panel-filter .filter-input { padding-top: 10px; padding-bottom: 10px; font-size: 15px; }
.panel-filter .btn { flex: 0 0 auto; }
@media (max-width: 700px) {
  .panel-filter { max-width: none; flex-basis: 100%; justify-content: flex-start; }
}

/* Çok alanlı filtre bloğu (aday havuzu): .panel-filter'ın başlık satırına sağa
   yaslı tek satır düzeni altı alana yetmiyor → kart başlığının ALTINDA, tam
   genişlik, iki satır (metin alanları + Ara / dropdown'lar). Dar ekranda
   .filter-field zaten %100 genişliğe düşüyor (sporkariyerim.css, 560px). */
.panel-filter-block {
  display: flex; flex-direction: column; gap: 10px;
  margin: -4px 0 20px; padding: 0; background: transparent; border: none; box-shadow: none;
}
.panel-filter-block .filter-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.panel-filter-block .filter-field { flex: 1 1 190px; }
.panel-filter-block .filter-field-grow { flex-grow: 2.2; }  /* özgüllük: genel .filter-field-grow'u ezmek için */
.panel-filter-block .filter-input { padding-top: 10px; padding-bottom: 10px; font-size: 15px; }
.panel-filter-block .btn { flex: 0 0 auto; }
/* sporkariyerim.css'teki 560px kuralı (.filter-field → %100) tek sınıf olduğu için
   yukarıdaki iki sınıflı kurala yeniliyor; burada yineleniyor. */
@media (max-width: 560px) {
  .panel-filter-block .filter-field { flex: 0 0 auto; width: 100%; }
}
.filter-clear { font-size: 13.5px; font-weight: 600; color: var(--blue); white-space: nowrap; }
.filter-clear:hover { text-decoration: underline; }

/* Dar ekranda tablo yatay kayar. GENİŞ EKRANDA KIRPMA KAPALI: overflow
   açıkken satır işlem menüsü (position:absolute) kutudan taşayamıyor ve
   kırpılıyordu. 981px üstünde tablo zaten sığdığı için kaydırmaya gerek yok. */
.panel-table-wrap { overflow-x: auto; }
@media (min-width: 981px) { .panel-table-wrap { overflow: visible; } }
.panel-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.panel-table th {
  text-align: left; padding: 10px 14px; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px; color: var(--text-muted);
  border-bottom: 2px solid #EAF0F7; white-space: nowrap;
}
.panel-table td { padding: 14px; border-bottom: 1px solid #F0F4F9; color: #3d4a5c; vertical-align: middle; }
.panel-table tr:last-child td { border-bottom: none; }
.panel-table .row-title { font-weight: 700; color: var(--navy); }
.panel-table .row-sub   { margin-top: 2px; font-size: 12.5px; color: var(--text-muted); }
/* Satır başlığı bir LİNKSE tıklanabilir olduğu görünsün: düz lacivert kalın
   metin link gibi okunmuyordu (.apply-row-title'daki desenin aynısı). */
.panel-table .row-title a { color: inherit; text-decoration: none; }
.panel-table .row-title a:hover { color: var(--blue); text-decoration: underline; }

/* Satır sonundaki belge ikonu (sipariş özeti). Tek başına ikon: etiketi
   yok, bu yüzden title + aria-label ŞART. */
.panel-table .row-doc { width: 1%; white-space: nowrap; text-align: right; }
.row-doc-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 9px;
  border: 1px solid var(--border); background: #fff; color: #5a6a82;
  transition: .15s;
}
.row-doc-btn:hover { border-color: var(--blue); color: var(--blue); background: var(--light-blue); }
/* Satır işlemleri menüsü. Kapalıyken yalnızca "⋯" düğmesi görünür. */
.row-menu { display: inline-block; }
.row-menu-trigger {
  list-style: none; cursor: pointer;
  width: 34px; height: 34px; border-radius: 8px;
  border: 1px solid var(--border); background: #fff; color: var(--text-muted);
  display: grid; place-items: center;
  transition: border-color .15s, color .15s, background .15s;
}
.row-menu-trigger::-webkit-details-marker { display: none; }
.row-menu-trigger:hover { border-color: var(--blue); color: var(--blue); }
.row-menu[open] .row-menu-trigger { border-color: var(--blue); color: var(--blue); background: var(--light-blue); }

/* Menü içeriği: satırın ÜSTÜNE binen açılır panel. Dar ekranda (kırpma açık)
   akış içinde kalıyor — orada absolute konumlandırma kırpılırdı. */
.panel-table .row-actions {
  display: flex; flex-direction: column; gap: 6px; align-items: stretch;
  margin-top: 8px; min-width: 178px;
}
@media (min-width: 981px) {
  .row-menu { position: relative; }
  .panel-table .row-actions {
    position: absolute; top: calc(100% + 6px); right: 0; z-index: 30;
    margin-top: 0; padding: 8px;
    background: #fff; border: 1px solid var(--border); border-radius: 12px;
    box-shadow: 0 12px 30px rgba(11, 31, 77, .16);
  }
}
.panel-table .row-actions .btn { justify-content: center; width: 100%; }
.panel-table .row-actions form { margin: 0; }
.panel-table .row-actions form .btn { width: 100%; }

/* --- Rozetler --- */
.badge { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.badge-green { background: #eef8e6; color: #4a9a10; }
.badge-gray  { background: #F0F3F8; color: #5a6a82; }
.badge-red   { background: #fdecec; color: #c1121f; }
.badge-blue  { background: var(--light-blue); color: var(--blue); }
/* Birden fazla rozet: satır kaydığında aralarında boşluk kalsın. */
.badge-stack { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; }

/* --- Küçük butonlar --- */
.btn-sm { padding: 7px 14px; font-size: 13.5px; border-radius: 8px; }

/* --- Sekme filtreleri --- */
.tab-bar { display: flex; gap: 8px; flex-wrap: wrap; }
.tab-pill {
  padding: 8px 16px; border-radius: 20px; font-size: 13.5px; font-weight: 600;
  color: #5a6a82; background: var(--soft-gray); border: 1px solid #EAF0F7; transition: .15s;
}
.tab-pill:hover { color: var(--navy); }
.tab-pill.active { background: var(--navy); color: #fff; border-color: var(--navy); }

/* --- Aday avatarı / aday kartları --- */
.panel-avatar { border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.panel-avatar-initials {
  background: var(--light-blue); color: var(--blue);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 16px;
  /* Fotoğraf bu rozetin ÜSTÜNE biniyor; yüklenemezse kendini kaldırıyor ve
     rozet ortaya çıkıyor. Konumlandırma bunun için. */
  position: relative; overflow: hidden;
}
.panel-avatar-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: 50%; display: block;
}
.applicant-cell { display: flex; align-items: center; gap: 12px; }
.applicant-cell .a-name { font-weight: 700; color: var(--navy); }
.applicant-cell .a-mail { font-size: 12.5px; color: var(--text-muted); }

.pool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pool-card {
  background: #fff; border: 1px solid #EAF0F7; border-radius: 14px; padding: 20px;
  display: flex; align-items: center; gap: 14px; transition: .18s;
  box-shadow: 0 4px 16px rgba(11, 31, 77, .04);
}
.pool-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(11, 31, 77, .10); }
.pool-card .p-meta { font-size: 12.5px; color: var(--text-muted); }
.pool-card .pool-card-field { color: #3D5A8A; font-weight: 600; margin-bottom: 2px; }

/* --- CV detay --- */
.cv-head { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; flex-wrap: wrap; }
.cv-head h1 { font-size: 24px; font-weight: 800; color: var(--navy); margin: 0; }
.cv-head .cv-sub { color: var(--text-muted); font-size: 14.5px; }
.cv-section-title {
  font-size: 16px; font-weight: 700; color: var(--navy);
  margin: 0 0 14px; display: flex; align-items: center; gap: 10px;
}
.cv-section-title .fs-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.cv-section-note { margin-left: auto; font-size: 13px; font-weight: 500; color: var(--text-muted); }

/* --- Bize yaptığı başvurular --- */
.apply-history { list-style: none; margin: 0; padding: 0; }
.apply-row {
  display: flex; align-items: baseline; gap: 14px; justify-content: space-between;
  padding: 11px 0; border-bottom: 1px solid var(--border);
}
.apply-row:last-child { border-bottom: none; }
.apply-row-main { display: flex; align-items: baseline; gap: 8px; min-width: 0; flex-wrap: wrap; }
.apply-row-title { font-weight: 600; color: var(--navy); text-decoration: none; }
.apply-row-title:hover { color: var(--blue); text-decoration: underline; }
.apply-row-title--gone { color: var(--text-muted); font-weight: 500; }
/* En son başvuru işverenin aradığı satır: kalın değil, küçük bir etiketle
   işaretli — kalın yapmak listedeki diğerlerini soluk gösteriyordu. */
.apply-row-tag {
  font-size: 11px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase;
  background: var(--light-blue); color: var(--blue); padding: 2px 7px; border-radius: 20px;
}
.apply-row-date { flex: 0 0 auto; font-size: 13.5px; color: var(--text-muted); font-variant-numeric: tabular-nums; }

.apply-more { margin-top: 4px; }
.apply-more summary {
  cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--blue);
  padding: 10px 0 2px; list-style: none;
}
.apply-more summary::-webkit-details-marker { display: none; }
.apply-more summary::before { content: "+ "; }
.apply-more[open] summary::before { content: "− "; }
.apply-more[open] summary { border-bottom: 1px solid var(--border); padding-bottom: 10px; }
.cv-rows { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 28px; }
.cv-row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid #F0F4F9; font-size: 14.5px; }
.cv-row .k { color: var(--text-muted); flex-shrink: 0; }
.cv-row .v { font-weight: 600; color: var(--navy); text-align: right; }
/* İşveren CV kartı satırı. ADI 09.09.2026'da .cv-item'DAN DEĞİŞTİRİLDİ:
   stylesheet_link_tag :app tüm stil dosyalarını HER layout'ta yüklüyor ve bu
   kural, aday panelindeki .cv-item ile AYNI ÖZGÜLLÜKTE (0,1,0) çakışıyordu.
   Dosya sırası alfabetik (candidate_panel < company_panel) olduğu için burası
   kazanıyor ve aday CV'sindeki kutuların YATAY DOLGUSUNU SIFIRLIYORDU — metin
   kenarlığa yapışıyordu (Emre 09.09.2026'da ekran görüntüsüyle bildirdi).
   İki panelin kartları farklı iç yapıda (.t/.s ve h4/p), aynı adı paylaşmaları
   baştan tesadüftü. Yeni sınıf adı eklerken bu tuzağı hatırla. */
.cv-kayit { padding: 12px 0; border-bottom: 1px solid #F0F4F9; }
.cv-kayit:last-child { border-bottom: none; }
.cv-kayit .t { font-weight: 700; color: var(--navy); }
.cv-kayit .s { font-size: 13.5px; color: var(--text-muted); }
/* Adayın "Özet CV'niz" metni — işveren CV görünümünün en üstü. */
.cv-summary { font-size: 14.5px; line-height: 1.7; color: var(--text); }
.cv-summary p { margin: 0 0 10px; }
.cv-summary p:last-child { margin-bottom: 0; }

/* --- İlan formu (mockup ilan-ver.html) --- */
.form-section-title { font-size: 17px; font-weight: 700; color: var(--navy); margin: 26px 0 4px; display: flex; align-items: center; gap: 10px; }
.form-section-title:first-child { margin-top: 0; }
.form-section-title .fs-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.form-section-desc { font-size: 13.5px; color: #5a6a82; margin: 0 0 16px; }
.radio-group { display: flex; gap: 10px; flex-wrap: wrap; }
.radio-chip { flex: 1; min-width: 130px; cursor: pointer; }
.radio-chip input { display: none; }
.radio-chip span {
  display: block; text-align: center; padding: 12px;
  border: 1.5px solid #EAF0F7; border-radius: 10px;
  font-size: 14px; font-weight: 600; color: #5a6a82; transition: .15s;
}
.radio-chip input:checked + span { border-color: var(--blue); background: var(--light-blue); color: var(--blue); }
.form-hint { font-size: 12.5px; color: #8a97ab; margin-top: 5px; }
.step-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #EAF0F7; flex-wrap: wrap; }
/* Yan yana duran form/sayfa butonları. Bu sınıf bu panelde tanımsızdı
   (yalnız candidate_panel.css'te vardı, o da burada yüklenmiyor); butonlar
   aralıksız bitişiyordu. flex-wrap dar ekranda alt alta almak için. */
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }

/* --- Flash mesajları --- */
.panel-flash { padding: 14px 18px; border-radius: 12px; font-size: 14.5px; font-weight: 600; margin-bottom: 20px; }
.panel-flash.notice { background: #eef8e6; color: #3e820d; border: 1px solid #cdeab2; }
.panel-flash.alert  { background: #fdecec; color: #c1121f; border: 1px solid #f6c6c9; }

/* --- Boş durum --- */
.panel-empty { text-align: center; padding: 48px 20px; color: var(--text-muted); }
.panel-empty .btn { margin-top: 16px; }

@media (max-width: 1024px) {
  .panel-grid { grid-template-columns: 1fr; }
  .panel-sidebar { position: static; }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .pool-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-rows { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .stat-strip, .pool-grid { grid-template-columns: 1fr; }
}

/* ---------- İlan paketleri ---------- */
.pkt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
.pkt-card {
  position: relative;
  border: 1px solid #E4E9F2;
  border-radius: 12px;
  padding: 20px 18px;
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: border-color .15s, box-shadow .15s;
}
.pkt-card:hover { border-color: #0673E4; box-shadow: 0 4px 14px rgba(11,31,77,.08); }
.pkt-card.is-current { border-color: #22A06B; background: #F6FFFB; }
.pkt-name {
  font-weight: 700;
  color: #0B1F4D;
  font-size: 15px;
  line-height: 1.35;
  min-height: 40px;
}
.pkt-price {
  font-size: 26px;
  font-weight: 800;
  color: #0673E4;
  margin: 10px 0 14px;
}
.pkt-feats { list-style: none; padding: 0; margin: 0 0 18px; flex: 1; }
.pkt-feats li {
  font-size: 13px;
  color: #4A5568;
  padding: 5px 0 5px 20px;
  position: relative;
}
.pkt-feats li::before {
  content: "";
  position: absolute;
  left: 0; top: 10px;
  width: 12px; height: 7px;
  border-left: 2px solid #22A06B;
  border-bottom: 2px solid #22A06B;
  transform: rotate(-45deg);
}
.pkt-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pkt-actions .btn { flex: 1; justify-content: center; }
.pkt-current-tag {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 600;
  color: #22A06B;
  text-align: center;
}
.pkt-desc { font-size: 14px; color: #4A5568; line-height: 1.6; }
.pkt-desc p { margin: 0 0 10px; }
.pkt-desc ul { margin: 0 0 10px 18px; }

/* Ödeme yöntemi seçenekleri */
.pay-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #E4E9F2;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 10px;
  cursor: pointer;
}
.pay-opt:hover { border-color: #0673E4; }
.pay-opt input { margin-top: 3px; }
.pay-opt strong { display: block; color: #0B1F4D; font-size: 14px; }
.pay-opt small { display: block; color: #6B7280; font-size: 12.5px; margin-top: 3px; line-height: 1.5; }

/* Öne çıkan paket rozeti — panelde .badge ailesinde amber varyantı yoktu */
.badge-amber {
  background: #FFF6E5;
  color: #8A5A00;
  border: 1px solid #F0B429;
}

/* Satış sözleşmesi kutusu */
.sozlesme-kutu {
  border: 1px solid #E4E9F2; border-radius: 10px; padding: 12px 14px; margin-bottom: 14px;
  background: #FAFBFD;
}
.sozlesme-kutu > summary {
  cursor: pointer; font-size: 14px; font-weight: 600; color: #0673E4; list-style: none;
}
.sozlesme-kutu > summary::-webkit-details-marker { display: none; }
.sozlesme-kutu > summary::before { content: "▸ "; }
.sozlesme-kutu[open] > summary::before { content: "▾ "; }
.sozlesme-metin {
  max-height: 340px; overflow-y: auto; margin-top: 12px; padding: 14px;
  background: #fff; border: 1px solid #EAF0F7; border-radius: 8px;
  font-size: 13px; line-height: 1.65; color: #374151;
}
.sozlesme-metin h3 { font-size: 15px; color: #0B1F4D; margin: 0 0 10px; }
.sozlesme-metin h4 { font-size: 13px; color: #0B1F4D; margin: 16px 0 6px; }
.sozlesme-metin p { margin: 0 0 9px; }
.sozlesme-tarih { margin-top: 14px !important; padding-top: 10px; border-top: 1px solid #EAF0F7; color: #5A6A82; }

/* --- İndirim kodu alanı --- */
.promo-msg { margin: 8px 0 0; font-size: 13px; font-weight: 600; }
.promo-msg--ok  { color: var(--green-dark, #3D7A10); }
.promo-msg--err { color: #B42323; }
/* Özet tablosunda indirim satırı — eksi tutar tutarın azaldığını göstersin. */
.panel-table .row-discount { color: #3D7A10; font-weight: 700; }

/* ===== Kurum profili: kapak görseli yükleme ===== */
.cover-upload-frame {
  aspect-ratio: 4 / 1; width: 100%; border-radius: 12px; overflow: hidden;
  border: 1px solid #e3e8f0; background: #f7f9fc center / cover no-repeat;
  display: grid; place-items: center; margin-bottom: 12px; position: relative;
}
.cover-upload-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cover-upload-empty { color: #fff; font-size: 13px; font-weight: 600; background: rgba(11,31,77,.55); padding: 6px 12px; border-radius: 20px; }
/* image_preview_controller'ın ölçü satırı (admin'deki sınıf adları) */
.adm-ad-meta { font-size: 12.5px; color: #5a6a82; min-height: 1.2em; margin: 8px 0 0; }
.adm-ad-meta--ok    { color: #3D7A10; }
.adm-ad-meta--warn  { color: #9A5B04; }
.adm-ad-meta--error { color: #B42323; font-weight: 600; }
.check-inline { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--navy); margin-top: 10px; cursor: pointer; }
.check-inline input { width: 16px; height: 16px; accent-color: var(--blue); }

/* Hakkında karakter sayacı */
.char-count-hint span { font-weight: 600; color: #9A5B04; }
.char-count-hint span.is-ok { color: #3D7A10; }

/* Kurum sayfası tamamlanma (profil kenar çubuğu + pano) */
.progress-track { background: #EAF0F7; border-radius: 20px; height: 8px; overflow: hidden; }
.progress-fill { background: var(--green); height: 8px; border-radius: 20px; transition: width .3s; }
.profile-progress-head { display: flex; justify-content: space-between; font-size: 14px; color: #5a6a82; margin-bottom: 8px; }
.profile-progress-head strong { color: var(--navy); font-size: 16px; }
.profile-missing { margin: 0; padding-left: 18px; font-size: 14px; color: var(--navy); line-height: 1.7; }
.profile-nudge { border-color: #d7e6fb; background: linear-gradient(135deg, #EAF4FF, #fff); }
.profile-nudge .panel-card-head { margin-bottom: 12px; }
.profile-nudge-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.profile-nudge-text { font-size: 14px; color: #5a6a82; margin: 12px 0 0; }

/* Aday iletişim kanalını kapattıysa işverene gösterilen not */
.cv-hidden-channel { color: #8a97ab; font-style: italic; font-weight: 500; }

/* Aday havuzu sekmesi — paket özelliği yoksa kilitli görünür */
.tab-pill--locked { opacity: .6; }
.tab-pill--locked:hover { opacity: 1; }

/* Öne çıkan ilan paketi kartı */
.pkt-card--featured { border-color: #F0B429; }
.pkt-card .pkt-tag { display: inline-block; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px; background: #FFF6E5; color: #8A5A00; font-size: 12px; font-weight: 700; }
