/* Hotelfect kurumsal kimlik v1 — tüm renk ve yazı tipi kararları bu blokta. Ekran kuralları yalnız bu değişkenleri kullanır.
   Marka: petrol (logo, başlık, navigasyon) · turkuaz (seçili alan, vurgu) · koyu teal (beyaz zeminde metin ve birincil düğme).
   Durum renkleri (--cip-*) markadan bağımsızdır: açık mavi · işlemde amber · beklemede mor · tamam yeşil · gecikme kırmızı. */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("operasyon-marka/manrope-400.woff2") format("woff2"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("operasyon-marka/manrope-600.woff2") format("woff2"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("operasyon-marka/manrope-700.woff2") format("woff2"); }
:root {
  /* Kimlik kaynağı: brand-tokens.json (v1) */
  --hf-petrol: #102c3a; --hf-turkuaz: #13a89e; --hf-sis: #f3f7f8; --hf-teal: #087f79; --hf-gri: #607480;
  --yazi: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --yazi-mono: ui-monospace, SFMono-Regular, Menlo, monospace;

  --zemin: var(--hf-sis); --yuzey: #ffffff; --yuzey2: #e8eff1; --cizgi: #d3dee2; --alan-cizgi: #7a8e98;
  --metin: var(--hf-petrol); --silik: #566a75; /* --hf-gri sis üzerinde AA sınırında; metin için bir ton koyusu */
  --ana: var(--hf-teal); --ana-metin: #ffffff; --ana-bastir: #066b66; --vurgu: var(--hf-turkuaz); --odak: var(--hf-teal);
  --nav-zemin: var(--hf-petrol); --nav-metin: #b9c8cf; --nav-guclu: #ffffff; --nav-secili: var(--hf-turkuaz); --nav-cizgi: rgba(255, 255, 255, .22);
  --tehlike: #b42318; --tehlike-metin: #ffffff; --uyari: #b45309; --tamam: #157f3b; --bilgi: #1d5fa8;
  --cip-yeni: #e8eefb; --cip-yeni-m: #1d4f9a; --cip-is: #fff3dc; --cip-is-m: #8a5300; --cip-bekle: #f3e8ff; --cip-bekle-m: #6b2fa3;
  --cip-coz: #e3f5ea; --cip-coz-m: #146c34; --cip-kapali: #eceef1; --cip-kapali-m: #4d5662; --cip-gec: #fde8e7; --cip-gec-m: #a11d12;
  --demo-zemin: #fff4d6; --demo-metin: #6b4d00; --onizleme-zemin: #0a5e5a; --onizleme-metin: #ffffff;
  --perde: rgba(16, 44, 58, .5); --perde-hafif: rgba(16, 44, 58, .12);
  --golge: 0 1px 2px rgba(16, 44, 58, .05), 0 1px 3px rgba(16, 44, 58, .08);
  --yaricap: 12px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --zemin: #0a1d26; --yuzey: #102c3a; --yuzey2: #173949; --cizgi: #24485a; --alan-cizgi: #5e7884; --metin: #e8f0f2; --silik: #9db2bc;
    --ana: var(--hf-turkuaz); --ana-metin: #06241f; --ana-bastir: #3dc4b9; --vurgu: #3dc4b9; --odak: #3dc4b9;
    --nav-zemin: #071820; --nav-secili: #3dc4b9;
    --tehlike: #f0756a; --tehlike-metin: #2a0905; --uyari: #f2b35a; --tamam: #5fcf86; --bilgi: #7fb2ec;
    --cip-yeni: #1b2a44; --cip-yeni-m: #9cc0f5; --cip-is: #3a2c12; --cip-is-m: #f5c97a; --cip-bekle: #2e2140; --cip-bekle-m: #cfaef5;
    --cip-coz: #163222; --cip-coz-m: #8fdcaa; --cip-kapali: #232a33; --cip-kapali-m: #a9b3bf; --cip-gec: #3d1a18; --cip-gec-m: #f6a59c;
    --demo-zemin: #3a2c12; --demo-metin: #f5c97a; --perde: rgba(0, 0, 0, .55); --perde-hafif: rgba(0, 0, 0, .3);
    --golge: none; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --zemin: #0a1d26; --yuzey: #102c3a; --yuzey2: #173949; --cizgi: #24485a; --alan-cizgi: #5e7884; --metin: #e8f0f2; --silik: #9db2bc;
  --ana: var(--hf-turkuaz); --ana-metin: #06241f; --ana-bastir: #3dc4b9; --vurgu: #3dc4b9; --odak: #3dc4b9;
  --nav-zemin: #071820; --nav-secili: #3dc4b9;
  --tehlike: #f0756a; --tehlike-metin: #2a0905; --uyari: #f2b35a; --tamam: #5fcf86; --bilgi: #7fb2ec;
  --cip-yeni: #1b2a44; --cip-yeni-m: #9cc0f5; --cip-is: #3a2c12; --cip-is-m: #f5c97a; --cip-bekle: #2e2140; --cip-bekle-m: #cfaef5;
  --cip-coz: #163222; --cip-coz-m: #8fdcaa; --cip-kapali: #232a33; --cip-kapali-m: #a9b3bf; --cip-gec: #3d1a18; --cip-gec-m: #f6a59c;
  --demo-zemin: #3a2c12; --demo-metin: #f5c97a; --perde: rgba(0, 0, 0, .55); --perde-hafif: rgba(0, 0, 0, .3);
  --golge: none; color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--zemin); color: var(--metin); }
body { font: 15px/1.45 var(--yazi); -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
h1 { font-size: 22px; margin: 0 0 4px; letter-spacing: -.01em; font-weight: 700; }
h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--silik); margin: 22px 0 8px; font-weight: 600; }
h3 { font-size: 16px; margin: 0; font-weight: 700; }
.silik { color: var(--silik); }
.kucuk { font-size: 13px; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; border-radius: 10px; padding: 10px 14px; min-height: 44px; background: var(--yuzey2); font-weight: 600; }
button.ana { background: var(--ana); color: var(--ana-metin); }
button.ana:hover:not(:disabled), button.ana:active:not(:disabled) { background: var(--ana-bastir); }
button.tehlike { background: transparent; color: var(--tehlike); border: 1px solid var(--cizgi); }
button.ikincil { background: transparent; border: 1px solid var(--cizgi); }
button.kucuk { min-height: 36px; padding: 6px 10px; font-size: 13px; }
button:disabled { opacity: .5; cursor: default; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--odak); outline-offset: 2px; }
label { display: block; font-size: 13px; color: var(--silik); margin: 12px 0 4px; font-weight: 600; }
label > input, label > select, label > textarea { display: block; width: 100%; margin-top: 4px; font-weight: 400; }
input, select, textarea { background: var(--yuzey); border: 1px solid var(--alan-cizgi); border-radius: 10px; padding: 10px 12px; min-height: 44px; color: var(--metin); }
input:focus, select:focus, textarea:focus { border-color: var(--odak); }
textarea { min-height: 80px; resize: vertical; }
.ekran { min-height: 100dvh; }
.kart { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 14px; box-shadow: var(--golge); }
/* Giriş öncesi ekranlar (giriş · davet · parola · iki adımlı doğrulama) */
.logo { display: block; margin: 0; line-height: 0; }
.logo img { display: block; width: 168px; height: auto; } /* kimlik: ana logo alt sınırı 140 px */
.giris-kart { max-width: 380px; width: calc(100% - 32px); margin: 12vh auto 0; padding: 28px 24px 20px; }
.giris-kart .logo { margin: 0 0 14px; }
.giris-kart button { width: 100%; margin-top: 18px; }
.on-marka { position: relative; z-index: 10; display: flex; justify-content: center; padding: max(28px, env(safe-area-inset-top)) 16px 0; }
body:has(#giris:not([hidden])) .on-marka, body:has(#uygulama:not([hidden])) .on-marka { display: none; }
body:has(#uygulama[hidden]) .perde { background: var(--perde-hafif); }
body:has(#uygulama[hidden]) .sayfa { box-shadow: 0 -8px 32px rgba(16, 44, 58, .14); }
.hata { color: var(--tehlike); min-height: 1.2em; font-size: 14px; }
/* Üst çubuk ve alt sekme çubuğu: kimlikte navigasyon petroldür, seçili alan turkuaz */
.ust { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 8px;
  padding: 10px 16px; padding-top: max(10px, env(safe-area-inset-top)); background: var(--nav-zemin); color: var(--nav-guclu); }
.ust-sol { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ust-simge { flex: none; width: 28px; height: 28px; }
.ust-ad { display: flex; flex-direction: column; min-width: 0; }
.ust-sol strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700; }
.ust-sol span { font-size: 12px; }
.ust .silik { color: var(--nav-metin); }
.ust-sag { display: flex; align-items: center; gap: 6px; }
.ust-sag select { min-height: 36px; padding: 4px 8px; max-width: 130px; background: transparent; color: var(--nav-guclu); border-color: var(--nav-cizgi); }
.ust-sag select option { background: var(--yuzey); color: var(--metin); }
.ust button.ikincil { color: var(--nav-guclu); border-color: var(--nav-cizgi); }
.ust :focus-visible { outline-color: var(--nav-secili); }
.zil { position: relative; background: transparent; color: var(--nav-guclu); min-width: 44px; padding: 6px; display: inline-flex; align-items: center; justify-content: center; }
.zil svg { width: 22px; height: 22px; }
.rozet { position: absolute; top: 2px; right: 2px; background: var(--tehlike); color: var(--tehlike-metin); border-radius: 9px; font-size: 11px; font-weight: 700; min-width: 18px; height: 18px; line-height: 18px; padding: 0 5px;
  box-shadow: 0 0 0 2px var(--nav-zemin); }
.serit { background: var(--cip-is); color: var(--cip-is-m); font-size: 12px; padding: 6px 16px; }
main { padding: 8px 16px calc(84px + env(safe-area-inset-bottom)); max-width: 760px; margin: 0 auto; }
.alt { position: fixed; bottom: 0; left: 0; right: 0; z-index: 5; display: flex; background: var(--nav-zemin);
  padding-bottom: env(safe-area-inset-bottom); }
.alt button { flex: 1; background: transparent; border-radius: 0; font-size: 12px; font-weight: 600; color: var(--nav-metin); padding: 8px 2px; min-height: 56px;
  display: flex; flex-direction: column; align-items: center; gap: 2px; }
.alt button[aria-current="page"] { color: var(--nav-secili); box-shadow: inset 0 3px 0 var(--nav-secili); }
.alt button:focus-visible { outline-color: var(--nav-secili); outline-offset: -3px; }
.alt .simge { font-size: 18px; line-height: 1; }
.liste { display: grid; gap: 10px; }
.is { display: grid; gap: 8px; }
.is-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.is-baslik { font-weight: 700; }
.is-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 13px; color: var(--silik); }
.is-meta b { color: var(--metin); font-weight: 600; }
.eylemler { display: flex; flex-wrap: wrap; gap: 8px; }
.eylemler button { flex: 1 1 auto; }
.cip { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.cip.yeni, .cip.atandi { background: var(--cip-yeni); color: var(--cip-yeni-m); }
.cip.ustlenildi, .cip.islemde { background: var(--cip-is); color: var(--cip-is-m); }
.cip.beklemede { background: var(--cip-bekle); color: var(--cip-bekle-m); }
.cip.cozuldu { background: var(--cip-coz); color: var(--cip-coz-m); }
.cip.kapandi, .cip.iptal { background: var(--cip-kapali); color: var(--cip-kapali-m); }
.cip.gecikti, .cip.acil { background: var(--cip-gec); color: var(--cip-gec-m); }
.cip.yuksek { background: var(--cip-is); color: var(--cip-is-m); }
.not { font-size: 13px; padding: 8px 10px; border-radius: 8px; background: var(--yuzey2); }
.not.bekle { background: var(--cip-bekle); color: var(--cip-bekle-m); }
.not.soz { background: var(--cip-coz); color: var(--cip-coz-m); }
.bos { text-align: center; color: var(--silik); padding: 28px 8px; }
.satir { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--cizgi); }
.satir:last-child { border-bottom: 0; }
.okunmamis { border-left: 3px solid var(--ana); }
.uyari-kutu { font-size: 12px; color: var(--uyari); margin-top: 4px; }
.izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
.oda { padding: 10px; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--yuzey); font-size: 13px; }
.oda strong { display: block; font-size: 16px; }
.oda.servis_disi { border-color: var(--tehlike); }
.oda.kontrol_bekliyor { border-color: var(--uyari); }
.sayilar { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.sayi { padding: 12px; }
.sayi strong { display: block; font-size: 22px; }
.zaman-cizelgesi { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.zaman-cizelgesi li { padding: 6px 0 6px 14px; border-left: 2px solid var(--cizgi); position: relative; }
.zaman-cizelgesi li::before { content: ""; position: absolute; left: -5px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--ana); }
.perde { position: fixed; inset: 0; background: var(--perde); z-index: 9; }
.sayfa { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; max-height: 92dvh; overflow: auto; background: var(--zemin);
  border-radius: 16px 16px 0 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); max-width: 760px; margin: 0 auto; }
.sayfa-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.bilgi { position: fixed; left: 16px; right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); z-index: 20; background: var(--metin); color: var(--zemin);
  padding: 12px 14px; border-radius: 10px; font-size: 14px; max-width: 520px; margin: 0 auto; }
.bilgi.hata-bilgi { background: var(--tehlike); color: var(--tehlike-metin); }
.sekme-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kod { font-family: var(--yazi-mono); word-break: break-all; background: var(--yuzey2); padding: 8px; border-radius: 8px; }
@media (min-width: 720px) { main { padding-top: 16px; } .alt { max-width: 760px; margin: 0 auto; border-radius: 14px 14px 0 0; } }

/* ── Paket 3 · satın alma ve depo ── */
.iki { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dort { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.dort input, .iki input, .iki select { min-width: 0; }
.sa-satir { display: grid; gap: 6px; padding: 12px; box-shadow: none; }
.sa-kalemler { margin: 0; padding-left: 18px; font-size: 14px; }
.sa-islemler { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sa-tablo { width: 100%; border-collapse: collapse; font-size: 13px; display: block; overflow-x: auto; }
.sa-tablo th, .sa-tablo td { text-align: left; padding: 6px 4px; border-bottom: 1px solid var(--cizgi); white-space: nowrap; }
.sa-tablo tr.sa-fark td, .sa-fark { color: var(--tehlike); font-weight: 700; }
.sa-bilgi { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 10px 0; font-size: 14px; }
.sa-bilgi dt { color: var(--silik); }
.sa-bilgi dd { margin: 0; }
.cip.sa-onay_bekliyor, .cip.sa-revizyon_onayi, .cip.sa-inceleme, .cip.sa-acil_siparis, .cip.sa-karantina, .cip.sa-yolda { background: var(--cip-bekle); color: var(--cip-bekle-m); }
.cip.sa-onaylandi, .cip.sa-eslesti, .cip.sa-hazir, .cip.sa-iletildi, .cip.sa-kismi_teslim, .cip.sa-acik, .cip.sa-sonradan_onaylandi { background: var(--cip-is); color: var(--cip-is-m); }
.cip.sa-siparise_donustu, .cip.sa-teslim_tamam, .cip.sa-deftere_islendi, .cip.sa-onaylandi_sayim, .cip.sa-kapandi { background: var(--cip-coz); color: var(--cip-coz-m); }
.cip.sa-reddedildi, .cip.sa-iptal, .cip.sa-sonradan_reddedildi { background: var(--cip-gec); color: var(--cip-gec-m); }
/* Mutfak (paket 4) */
.cip.mf-taslak { background: var(--cip-bekle); color: var(--cip-bekle-m); }
.cip.mf-kesin { background: var(--cip-coz); color: var(--cip-coz-m); }
.cip.mf-ters_cevrildi { background: var(--cip-kapali); color: var(--cip-kapali-m); }
.cip.mf-ornek { background: var(--demo-zemin); color: var(--demo-metin); }
@media print {
  .alt, .ust, .perde, .bilgi, #icerik, .sayfa-ust button, .eylemler { display: none !important; }
  .sayfa { position: static !important; max-height: none !important; box-shadow: none !important; }
}

/* Demo kurulum ve rol önizlemesi şeritleri */
.demo-serit { background: var(--demo-zemin); color: var(--demo-metin); font-weight: 600; }
.onizleme-serit { background: var(--onizleme-zemin); color: var(--onizleme-metin); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.onizleme-serit button { background: var(--onizleme-metin); color: var(--onizleme-zemin); border-color: transparent; flex: none; }
.demo-not { background: var(--demo-zemin); color: var(--demo-metin); border-radius: 8px; padding: 8px 10px; font-size: 13px; }
