:root{
  --bg:#f6f1ec; --kart:#fffdfb; --cizgi:#e6dcd3; --yazi:#2b2522; --soluk:#7a6e67;
  --vurgu:#b5485b; --vurgu-k:#8f3346; --vurgu-a:#f7e3e7;
  --bos:#eaf5ec; --bos-k:#2f7a46; --bekle:#fff3d6; --bekle-k:#9a6400; --dolu:#f4e6e9; --dolu-k:#8f3346; --gecmis:#f1ece8;
  --golge:0 1px 2px rgba(60,40,30,.06),0 8px 24px rgba(60,40,30,.06);
  --r:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#1b1715; --kart:#241f1c; --cizgi:#3a322d; --yazi:#f1ebe6; --soluk:#a8998f;
  --vurgu:#e07b8e; --vurgu-k:#f0a5b3; --vurgu-a:#3b262b;
  --bos:#1f3326; --bos-k:#8fd3a3; --bekle:#3b3119; --bekle-k:#f1c76b; --dolu:#3b262b; --dolu-k:#f0a5b3; --gecmis:#2a2522;
}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--yazi);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--vurgu)}
h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}
.mono{font-variant-numeric:tabular-nums}
.gizli{display:none!important}

/* giriş */
body.giris{display:grid;place-items:center;min-height:100vh;padding:16px}
.giris-kart{background:var(--kart);border:1px solid var(--cizgi);border-radius:20px;padding:32px 28px;max-width:400px;width:100%;box-shadow:var(--golge);text-align:center}
.marka{display:flex;align-items:center;gap:12px;justify-content:center;text-align:left}
.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--vurgu);color:#fff;font-weight:800;letter-spacing:.02em}
.marka h1{font-size:20px}.marka p{margin:0;color:var(--soluk);font-size:13px}
.aciklama{color:var(--soluk);margin:20px 0}
.uyari{margin-top:16px;padding:10px 12px;border-radius:10px;background:var(--bekle);color:var(--bekle-k);font-size:14px}

/* düğmeler */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--cizgi);background:var(--kart);cursor:pointer;text-decoration:none;font-weight:550;min-height:40px}
.btn:hover{border-color:var(--soluk)}
.btn.birincil{background:var(--vurgu);border-color:var(--vurgu);color:#fff}.btn.birincil:hover{background:var(--vurgu-k)}
.btn.tehlike{color:var(--dolu-k);border-color:var(--dolu-k)}
.btn.onay{background:var(--bos-k);border-color:var(--bos-k);color:#fff}
.btn.kucuk{padding:5px 10px;min-height:32px;font-size:13px}
.btn.google{width:100%;justify-content:center;margin-top:8px}
.btn:disabled{opacity:.5;cursor:default}

/* iskelet */
.ust{position:sticky;top:0;z-index:5;background:var(--kart);border-bottom:1px solid var(--cizgi);padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ust .marka{justify-content:flex-start}.ust .logo{width:36px;height:36px;border-radius:10px;font-size:13px}
.ust .marka h1{font-size:16px}
.sekmeler{display:flex;gap:4px;overflow-x:auto;margin-left:auto;scrollbar-width:none}
.sekmeler button{border:0;background:transparent;padding:8px 12px;border-radius:10px;color:var(--soluk);white-space:nowrap;cursor:pointer;position:relative}
.sekmeler button.aktif{background:var(--vurgu-a);color:var(--vurgu-k);font-weight:600}
.sekmeler .rozet{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--vurgu);color:#fff;font-size:11px;font-weight:700;margin-left:6px;line-height:18px}
.kullanici{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--soluk)}
main{padding:16px;max-width:1240px;margin:0 auto}
.kart{background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--r);padding:16px;box-shadow:var(--golge)}
.kart+.kart{margin-top:16px}
.kart h2{font-size:17px;margin-bottom:12px}
.ipucu{color:var(--soluk);font-size:13px;margin:6px 0 0}
.satir{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.alan{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}
.alan .etiket{font-size:12px;color:var(--soluk);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
input,select,textarea{padding:9px 11px;border:1px solid var(--cizgi);border-radius:10px;background:var(--bg);min-height:40px;width:100%}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--vurgu);outline-offset:1px;border-color:transparent}
.izgara2{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.izgara2{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}}

/* gün şeridi */
.serit{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.serit button{flex:0 0 auto;border:1px solid var(--cizgi);background:var(--kart);border-radius:12px;padding:6px 10px;min-width:64px;cursor:pointer;text-align:center}
.serit button.secili{border-color:var(--vurgu);background:var(--vurgu-a)}
.serit .g{display:block;font-size:11px;color:var(--soluk)}.serit .t{display:block;font-weight:650}.serit .b{display:block;font-size:11px;color:var(--bos-k)}
.serit .b.kapali{color:var(--soluk)}
.gun-baslik{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.gun-baslik h2{margin:0;flex:1}

/* defter tablosu */
.defter{display:grid;gap:6px;overflow-x:auto}
.defter .bas{font-size:12px;color:var(--soluk);font-weight:600;padding:4px 6px;text-align:center}
.defter .saat{font-size:13px;color:var(--soluk);padding:10px 4px;font-weight:600}
.hucre{border:1px solid var(--cizgi);border-radius:10px;min-height:64px;padding:8px;text-align:left;cursor:pointer;background:var(--kart);display:flex;flex-direction:column;gap:2px;overflow:hidden}
.hucre.bos{background:var(--bos);border-color:transparent;color:var(--bos-k);justify-content:center;align-items:center}
.hucre.beklemede{background:var(--bekle);border-color:transparent;color:var(--bekle-k)}
.hucre.dolu{background:var(--dolu);border-color:transparent;color:var(--dolu-k)}
.hucre.gecmis,.hucre.kapali{background:var(--gecmis);color:var(--soluk);cursor:default}
.hucre b{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hucre small{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lejant{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--soluk);margin-top:10px}
.lejant i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:4px}

/* talepler */
.talep{border:1px solid var(--cizgi);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--bg)}
.talep .ust-satir{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.talep .kaynak{font-size:11px;padding:2px 7px;border-radius:7px;background:var(--vurgu-a);color:var(--vurgu-k);font-weight:700;text-transform:uppercase}
.talep .zaman{font-size:12px;color:var(--soluk)}
.talep .meta{color:var(--soluk);font-size:13px;margin:4px 0 8px}
.secenek{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--cizgi);border-radius:10px;background:var(--kart);margin-bottom:6px;cursor:pointer}
.secenek input{width:auto;min-height:0}
.secenek.dolu{opacity:.55;text-decoration:line-through;cursor:default}
.sayac{font-size:12px;color:var(--bekle-k);font-weight:600}
.sayac.gecti{color:var(--dolu-k)}
.bos-liste{color:var(--soluk);padding:24px;text-align:center}

/* tablolar */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;color:var(--soluk);text-transform:uppercase;letter-spacing:.04em;padding:8px 6px;border-bottom:1px solid var(--cizgi)}
td{padding:8px 6px;border-bottom:1px solid var(--cizgi);vertical-align:top}
tr:last-child td{border-bottom:0}
.sag{text-align:right}

/* iletişim penceresi */
.ortu{position:fixed;inset:0;background:rgba(30,20,15,.45);display:grid;place-items:end center;z-index:20;padding:0}
@media(min-width:640px){.ortu{place-items:center;padding:16px}}
.pencere{background:var(--kart);border-radius:18px 18px 0 0;padding:20px;width:100%;max-width:520px;max-height:92vh;overflow:auto;box-shadow:var(--golge)}
@media(min-width:640px){.pencere{border-radius:18px}}
.pencere h3{font-size:17px;margin-bottom:4px}
.pencere .alt{color:var(--soluk);font-size:13px;margin-bottom:14px}
.pencere .dugmeler{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.mesaj-kutu{white-space:pre-wrap;background:var(--bg);border:1px solid var(--cizgi);border-radius:10px;padding:12px;font-size:14px;max-height:280px;overflow:auto}

/* bildirim */
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--yazi);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;z-index:30;box-shadow:var(--golge);max-width:90vw}
.toast.hata{background:var(--vurgu-k);color:#fff}
.rozet-durum{display:inline-block;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:600}
.rozet-durum.onaylandi{background:var(--bos);color:var(--bos-k)}.rozet-durum.reddedildi,.rozet-durum.iptal{background:var(--dolu);color:var(--dolu-k)}
.rozet-durum.suresi_doldu{background:var(--gecmis);color:var(--soluk)}.rozet-durum.bekliyor{background:var(--bekle);color:var(--bekle-k)}
