/* ==========================================================
   FF Tuning Servis Portalı
   Görsel yön: atölye iş emri kartı + gösterge paneli ikaz lambası
   ========================================================== */

:root {
  --ink:        #14161B;   /* gövde grafiti */
  --ink-2:      #1E222A;   /* üst bar */
  --ink-3:      #2C313C;
  --kagit:      #F1F2F4;   /* sayfa zemini */
  --panel:      #FFFFFF;
  --cizgi:      #DEE1E6;
  --cizgi-2:    #EDEFF2;
  --gri:        #6B717C;
  --gri-2:      #9AA0AA;

  --amber:      #F2A007;   /* ikaz lambası — tek vurgu rengi */
  --amber-koyu: #C77F00;
  --amber-sis:  #FDF3DC;

  --yesil:      #17864C;
  --yesil-sis:  #E4F4EB;
  --mavi:       #1F5FA8;
  --mavi-sis:   #E6EFF9;
  --kirmizi:    #C42B37;
  --kirmizi-sis:#FBE9EA;
  --mor:        #6D4AA8;
  --mor-sis:    #EFEAF8;

  --r: 6px;
  --golge: 0 1px 2px rgba(20,22,27,.06), 0 4px 12px rgba(20,22,27,.05);
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--kagit);
  color: var(--ink);
  font: 400 15px/1.55 "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

h1, h2, h3, .baslik {
  font-family: "Barlow Condensed", "IBM Plex Sans", sans-serif;
  font-weight: 700;
  letter-spacing: .01em;
  margin: 0;
}
h1 { font-size: 30px; line-height: 1.15; }
h2 { font-size: 21px; line-height: 1.2; }
h3 { font-size: 17px; line-height: 1.25; }

a { color: var(--mavi); }

/* Klavye erişimi */
:focus-visible {
  outline: 2px solid var(--amber-koyu);
  outline-offset: 2px;
}

/* ---------------------------------------------------------- Üst bar */

.ust {
  background: var(--ink-2);
  border-bottom: 3px solid var(--amber);
}
.ust__ic {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.marka { display: flex; align-items: center; gap: 10px; text-decoration: none; padding: 10px 0; }
.marka__logo {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: .06em;
  background: var(--amber);
  color: var(--ink);
  padding: 3px 9px 2px;
  border-radius: 3px;
}
.marka__yazi {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 19px;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1.05;
  display: flex;
  flex-direction: column;
}
.marka__yazi small {
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gri-2);
}

.menu { display: flex; gap: 4px; margin-right: auto; flex-wrap: wrap; }
.menu a {
  color: #C8CCD3;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 13px;
  border-radius: var(--r);
}
.menu a:hover { color: #fff; background: rgba(255,255,255,.07); }
.menu a.aktif { color: var(--ink); background: var(--amber); }

.hesap { display: flex; align-items: center; gap: 14px; }
.hesap__ad {
  color: #fff;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.15;
  display: flex;
  flex-direction: column;
  text-align: right;
}
.hesap__ad small { color: var(--gri-2); font-weight: 400; font-size: 11.5px; }

/* ---------------------------------------------------------- Sayfa */

.sayfa { max-width: 1180px; margin: 0 auto; padding: 26px 20px 60px; }

.sayfa-basi {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.sayfa-basi p { margin: 4px 0 0; color: var(--gri); font-size: 14px; }

.geri {
  display: inline-block;
  font-size: 13px;
  color: var(--gri);
  text-decoration: none;
  margin-bottom: 10px;
}
.geri:hover { color: var(--ink); }

.alt {
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--gri-2);
  font-size: 12.5px;
  border-top: 1px solid var(--cizgi);
}

/* ---------------------------------------------------------- Kart */

.kart {
  background: var(--panel);
  border: 1px solid var(--cizgi);
  border-radius: var(--r);
  box-shadow: var(--golge);
}
.kart + .kart { margin-top: 18px; }
.kart__bas {
  padding: 14px 18px;
  border-bottom: 1px solid var(--cizgi-2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.kart__govde { padding: 18px; }
.kart__govde--sikisik { padding: 0; }

.izgara { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .izgara--2 { grid-template-columns: 1fr 1fr; }
  .izgara--yan { grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); align-items: start; }
}

/* ---------------------------------------------------------- İmza öğesi: takip plakası */

.plaka {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--ink-3);
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  font-family: "IBM Plex Mono", monospace;
  line-height: 1;
  text-decoration: none;
  color: var(--ink);
}
.plaka__bant {
  background: var(--amber);
  width: 9px;
  flex: none;
}
.plaka__no {
  padding: 6px 10px 5px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
}
.plaka--iri .plaka__no { font-size: 17px; padding: 9px 14px 8px; }
.plaka--iri .plaka__bant { width: 12px; }
a.plaka:hover { border-color: var(--amber-koyu); }

/* ---------------------------------------------------------- Rozet */

.rozet {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 4px 9px;
  border-radius: 100px;
  white-space: nowrap;
}
.rozet::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.rozet--bekle  { background: var(--amber-sis);  color: var(--amber-koyu); }
.rozet--islem  { background: var(--mavi-sis);   color: var(--mavi); }
.rozet--hazir  { background: var(--mor-sis);    color: var(--mor); }
.rozet--revize { background: var(--kirmizi-sis);color: var(--kirmizi); }
.rozet--tamam  { background: var(--yesil-sis);  color: var(--yesil); }
.rozet--iptal  { background: #ECEEF1;           color: var(--gri); }

.etiket {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--cizgi-2);
  color: var(--ink);
  border: 1px solid var(--cizgi);
}
.etiket--vurgu { background: var(--amber-sis); border-color: #EBD9A8; color: var(--amber-koyu); }

/* ---------------------------------------------------------- Tablo */

.tablo-sarma { overflow-x: auto; }
table.tablo { width: 100%; border-collapse: collapse; font-size: 14px; }
table.tablo th {
  text-align: left;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--gri);
  padding: 11px 14px;
  border-bottom: 1px solid var(--cizgi);
  white-space: nowrap;
}
table.tablo td { padding: 12px 14px; border-bottom: 1px solid var(--cizgi-2); vertical-align: middle; }
table.tablo tr:last-child td { border-bottom: 0; }
table.tablo tbody tr:hover { background: #FAFBFC; }
.hucre-alt { display: block; color: var(--gri); font-size: 12.5px; margin-top: 2px; }
.mono { font-family: "IBM Plex Mono", monospace; font-size: 13px; }

/* ---------------------------------------------------------- Künye listesi */

.kunye { display: grid; gap: 0; }
.kunye div {
  display: flex;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid var(--cizgi-2);
  font-size: 14px;
}
.kunye div:last-child { border-bottom: 0; }
.kunye dt {
  flex: none;
  width: 150px;
  color: var(--gri);
  font-size: 13px;
  margin: 0;
}
.kunye dd { margin: 0; font-weight: 500; word-break: break-word; }

/* ---------------------------------------------------------- Form */

.alan { margin-bottom: 15px; }
.alan > label, .alan-bas {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 5px;
}
.alan .ipucu { font-size: 12.5px; color: var(--gri); margin-top: 5px; font-weight: 400; }
.zorunlu { color: var(--kirmizi); font-weight: 700; }

input[type=text], input[type=password], input[type=number], input[type=email],
select, textarea {
  width: 100%;
  font: 400 15px/1.4 "IBM Plex Sans", sans-serif;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--cizgi);
  border-radius: var(--r);
  padding: 9px 11px;
}
input:hover, select:hover, textarea:hover { border-color: #C5C9D0; }
input:focus, select:focus, textarea:focus {
  border-color: var(--amber-koyu);
  outline: 2px solid rgba(242,160,7,.28);
  outline-offset: 0;
}
input:disabled, select:disabled { background: var(--cizgi-2); color: var(--gri); }
textarea { min-height: 110px; resize: vertical; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--gri) 50%), linear-gradient(135deg, var(--gri) 50%, transparent 50%); background-position: right 15px center, right 10px center; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 32px; }

.satir { display: grid; gap: 15px; grid-template-columns: 1fr; }
@media (min-width: 700px) {
  .satir--2 { grid-template-columns: 1fr 1fr; }
  .satir--3 { grid-template-columns: 1fr 1fr 1fr; }
}

.kutu-grup {
  display: grid;
  gap: 2px;
  grid-template-columns: 1fr;
  border: 1px solid var(--cizgi);
  border-radius: var(--r);
  padding: 6px;
  background: #FAFBFC;
}
@media (min-width: 620px) { .kutu-grup { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .kutu-grup { grid-template-columns: 1fr 1fr 1fr; } }
.kutu {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.kutu:hover { background: #fff; }
.kutu input { width: 17px; height: 17px; accent-color: var(--amber-koyu); flex: none; margin: 0; }
.kutu input:checked + span { font-weight: 600; }

.ayrac {
  border: 0;
  border-top: 1px solid var(--cizgi-2);
  margin: 22px 0 18px;
}
.bolum-bas {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gri);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.bolum-bas::after { content: ""; flex: 1; height: 1px; background: var(--cizgi); }

/* ---------------------------------------------------------- Buton */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: 600 14.5px/1 "IBM Plex Sans", sans-serif;
  padding: 11px 18px;
  border-radius: var(--r);
  border: 1px solid transparent;
  background: var(--amber);
  color: var(--ink);
  cursor: pointer;
  text-decoration: none;
  transition: background .12s ease, border-color .12s ease;
}
.btn:hover { background: #E09405; }
.btn:active { background: var(--amber-koyu); }
.btn--sade { background: transparent; border-color: rgba(255,255,255,.28); color: #E7E9ED; }
.btn--sade:hover { background: rgba(255,255,255,.1); }
.btn--cizgi { background: #fff; border-color: var(--cizgi); color: var(--ink); }
.btn--cizgi:hover { background: var(--cizgi-2); }
.btn--koyu { background: var(--ink-2); color: #fff; }
.btn--koyu:hover { background: var(--ink-3); }
.btn--tehlike { background: #fff; border-color: #E7B9BD; color: var(--kirmizi); }
.btn--tehlike:hover { background: var(--kirmizi-sis); }
.btn--kucuk { padding: 7px 12px; font-size: 13px; }
.btn--tam { width: 100%; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }

.btn-sirasi { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* ---------------------------------------------------------- Uyarı */

.uyari {
  padding: 12px 15px;
  border-radius: var(--r);
  border: 1px solid;
  font-size: 14px;
  margin-bottom: 16px;
}
.uyari--ok    { background: var(--yesil-sis);  border-color: #BFE3CE; color: #0E5C34; }
.uyari--hata  { background: var(--kirmizi-sis);border-color: #EFC3C7; color: #8E1F28; }
.uyari--bilgi { background: var(--mavi-sis);   border-color: #C4D8EE; color: #16457A; }
.uyari--dikkat{ background: var(--amber-sis);  border-color: #EBD9A8; color: #855700; }

/* ---------------------------------------------------------- Dosya listesi */

.dosya {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--cizgi-2);
}
.dosya:last-child { border-bottom: 0; }
.dosya__ikon {
  flex: none;
  width: 38px; height: 38px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  background: var(--cizgi-2);
  color: var(--gri);
  overflow: hidden;
}
.dosya--hazirlanan .dosya__ikon { background: var(--amber-sis); color: var(--amber-koyu); }
.dosya__bilgi { min-width: 0; flex: 1; }
.dosya__ad {
  font-weight: 600;
  font-size: 14px;
  word-break: break-all;
  font-family: "IBM Plex Mono", monospace;
}
.dosya__meta { color: var(--gri); font-size: 12.5px; margin-top: 2px; }

.bos {
  padding: 34px 18px;
  text-align: center;
  color: var(--gri);
  font-size: 14px;
}
.bos strong { display: block; color: var(--ink); font-size: 15px; margin-bottom: 4px; }

/* ---------------------------------------------------------- Notlar */

.not { padding: 14px 0; border-bottom: 1px solid var(--cizgi-2); }
.not:last-child { border-bottom: 0; }
.not__bas {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 5px;
  font-size: 12.5px;
  color: var(--gri);
  flex-wrap: wrap;
}
.not__kim { font-weight: 600; color: var(--ink); font-size: 13.5px; }
.not__govde { font-size: 14px; white-space: pre-wrap; word-break: break-word; }
.not--ff .not__kim { color: var(--amber-koyu); }

/* ---------------------------------------------------------- Zaman çizgisi */

.iz { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.iz li {
  position: relative;
  padding: 0 0 15px 20px;
  border-left: 1px solid var(--cizgi);
  margin-left: 4px;
}
.iz li:last-child { border-left-color: transparent; padding-bottom: 0; }
.iz li::before {
  content: "";
  position: absolute;
  left: -4.5px; top: 5px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gri-2);
}
.iz li:first-child::before { background: var(--amber); }
.iz time { display: block; color: var(--gri-2); font-size: 12px; font-family: "IBM Plex Mono", monospace; }

/* ---------------------------------------------------------- Filtre çubuğu */

.filtre {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: flex-end;
}
.filtre .alan { margin: 0; }
.filtre .alan--genis { flex: 1; min-width: 220px; }

.sayfalama { display: flex; gap: 6px; justify-content: center; padding: 16px; flex-wrap: wrap; }
.sayfalama a, .sayfalama span {
  padding: 7px 12px;
  border-radius: var(--r);
  border: 1px solid var(--cizgi);
  background: #fff;
  text-decoration: none;
  color: var(--ink);
  font-size: 13.5px;
}
.sayfalama .simdi { background: var(--ink-2); color: #fff; border-color: var(--ink-2); }

/* ---------------------------------------------------------- Giriş ekranı */

.giris-sayfa {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(1000px 480px at 50% -10%, #262B35 0%, transparent 62%),
    var(--ink);
}
.giris {
  width: 100%;
  max-width: 400px;
}
.giris__bas { text-align: center; margin-bottom: 22px; }
.giris__logo {
  display: inline-block;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: 27px;
  letter-spacing: .08em;
  background: var(--amber);
  color: var(--ink);
  padding: 5px 15px 3px;
  border-radius: 4px;
}
.giris__bas h1 { color: #fff; font-size: 25px; margin-top: 14px; letter-spacing: .02em; }
.giris__bas p { color: var(--gri-2); font-size: 13.5px; margin: 5px 0 0; }
.giris .kart { padding: 24px; }
.giris__alt { text-align: center; color: var(--gri); font-size: 12.5px; margin-top: 18px; }

/* ---------------------------------------------------------- Yazdırma */

@media print {
  .ust, .alt, .btn, .filtre, .sayfalama, form { display: none !important; }
  body { background: #fff; }
  .kart { box-shadow: none; border-color: #999; break-inside: avoid; }
  .sayfa { max-width: none; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
