/* Yönetim paneli, giriş ekranı ve yazdırma çıktısı */
:root{
  --lac:#1e4f8f; --lac2:#2f6fbf; --koyu:#12315c;
  --ink:#16202e; --ink2:#5b6a7f; --ink3:#8b98a9;
  --cizgi:#dfe5ee; --zemin:#f4f6fa; --panel:#fff;
  --yesil:#0d7c66; --kirmizi:#b3261e; --sari:#a4700a;
  --golge:0 1px 2px rgba(16,32,64,.06),0 6px 18px rgba(16,32,64,.07);
  --r:10px;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--zemin);color:var(--ink);
  font:15px/1.5 "Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
a{color:var(--lac);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
img{max-width:100%}

/* ---------- düzen ---------- */
.duzen{display:flex;min-height:100vh}
.yan{
  width:224px;flex:none;background:#12315c;color:#c9d8ec;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.yan-marka{
  display:flex;align-items:center;gap:10px;padding:18px 18px;color:#fff;font-weight:700;font-size:16px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.yan-marka:hover{text-decoration:none;color:#fff}
.yan-marka span{
  width:30px;height:30px;border-radius:8px;background:#2f6fbf;display:grid;place-items:center;flex:none;
}
.yan nav{display:flex;flex-direction:column;padding:12px 10px;gap:2px;overflow:auto}
.yan nav a{
  color:#c9d8ec;padding:9px 13px;border-radius:8px;font-size:14.5px;font-weight:500;
}
.yan nav a:hover{background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.yan nav a.secili{background:#2f6fbf;color:#fff;font-weight:600}
.yan-alt{margin-top:auto;padding:14px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}
.yan-alt a{color:#9db6d8}

.govde{flex:1;min-width:0;display:flex;flex-direction:column}
.tepe{
  background:#fff;border-bottom:1px solid var(--cizgi);padding:14px 24px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:20;
}
.tepe h1{margin:0;font-size:19px;flex:1;min-width:200px}
.tepe-sag{display:flex;align-items:center;gap:10px}
.kisi{text-align:right;line-height:1.2}
.kisi b{display:block;font-size:14px}
.kisi small{color:var(--ink2);font-size:12px}
.icerik{padding:24px;max-width:1200px;width:100%}

@media(max-width:820px){
  .duzen{flex-direction:column}
  .yan{width:100%;height:auto;position:static}
  .yan nav{flex-direction:row;flex-wrap:wrap}
  .yan-alt{display:none}
}

/* ---------- düğmeler ---------- */
.dugme{
  display:inline-block;background:var(--lac);color:#fff;border:1px solid var(--lac);
  padding:9px 18px;border-radius:8px;font:600 14.5px/1.2 inherit;cursor:pointer;text-align:center;
}
.dugme:hover{background:var(--lac2);border-color:var(--lac2);color:#fff;text-decoration:none}
.dugme.ikincil{background:#fff;color:var(--ink);border-color:var(--cizgi);font-weight:500}
.dugme.ikincil:hover{background:#eef3fa;color:var(--ink)}
.dugme.gri{background:#5b6a7f;border-color:#5b6a7f}
.dugme.gri:hover{background:#48566a;border-color:#48566a}
.dugme.yesil{background:var(--yesil);border-color:var(--yesil)}
.dugme.yesil:hover{filter:brightness(1.1)}
.dugme.kirmizi{background:#fff;color:var(--kirmizi);border-color:#e8c9c6}
.dugme.kirmizi:hover{background:#fdf2f1;color:var(--kirmizi)}
.dugme.kucuk{padding:6px 12px;font-size:13.5px;border-radius:7px}
.dugme[disabled],.dugme.pasif{opacity:.55;pointer-events:none}

.ikon{
  border:1px solid var(--cizgi);background:#fff;border-radius:6px;width:28px;height:28px;
  display:inline-grid;place-items:center;font-size:13px;color:var(--ink2);padding:0;cursor:pointer;
}
.ikon:hover{background:#eef3fa;color:var(--ink)}
.ikon.sil:hover{background:#fdf2f1;color:var(--kirmizi);border-color:#e8c9c6}

/* ---------- panel / kart ---------- */
.panel{background:var(--panel);border:1px solid var(--cizgi);border-radius:var(--r);box-shadow:var(--golge);margin-bottom:20px}
.panel-bas{padding:14px 18px;border-bottom:1px solid var(--cizgi);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel-bas h2{margin:0;font-size:16px;font-weight:600}
.panel-bas .sag{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.panel-govde{padding:18px}

.satirlar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.satirlar .bosluk{flex:1}

.ozet{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px}
.ozet .kutu{
  background:#fff;border:1px solid var(--cizgi);border-radius:var(--r);padding:16px 18px;box-shadow:var(--golge);
}
.ozet .kutu b{display:block;font-size:28px;line-height:1.1;color:var(--koyu)}
.ozet .kutu span{color:var(--ink2);font-size:13.5px}
.ozet .kutu a{font-size:13px}

/* ---------- tablo ---------- */
.tablo-sar{overflow-x:auto}
table.veri{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
table.veri th,table.veri td{padding:11px 14px;border-bottom:1px solid var(--cizgi);text-align:left;vertical-align:middle}
table.veri th{background:#f7f9fc;font-size:13px;color:var(--ink2);font-weight:700;white-space:nowrap}
table.veri tr:last-child td{border-bottom:0}
table.veri tr:hover td{background:#fbfcfe}
table.veri td.sag,table.veri th.sag{text-align:right}
table.veri .kucukyazi{color:var(--ink2);font-size:13px}

.rozet{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}
.rozet.yesil{background:#e7f4ef;color:var(--yesil)}
.rozet.gri{background:#eef1f5;color:var(--ink2)}
.rozet.sari{background:#fdf3e3;color:var(--sari)}
.rozet.kirmizi{background:#fbeceb;color:var(--kirmizi)}
.rozet.mavi{background:#e9f0fa;color:var(--lac)}

/* ---------- form ---------- */
.alan{margin-bottom:15px}
.alan > label{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:5px}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],
input[type=password],input[type=number],input[type=url],input[type=search],select,textarea{
  width:100%;padding:9px 11px;border:1px solid var(--cizgi);border-radius:8px;font:inherit;color:inherit;background:#fff;
}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid #bcd3f2;border-color:var(--lac2)}
input[type=file]{font-size:14px}
.alan small{display:block;color:var(--ink3);font-size:12.5px;margin-top:4px}
.izgara{display:grid;gap:14px}
.i2{grid-template-columns:1fr 1fr}
.i3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:780px){.i2,.i3{grid-template-columns:1fr}}
.onay{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--ink2);margin-bottom:10px}
.onay input{margin-top:3px;width:16px;height:16px;flex:none}

/* ---------- uyarı ---------- */
.uyari{padding:12px 15px;border-radius:9px;margin-bottom:16px;font-size:14.5px;border:1px solid}
.uyari.basari{background:#e9f6f1;border-color:#bfe3d6;color:#0a6350}
.uyari.hata{background:#fdeeed;border-color:#f2c9c6;color:#8f1d17}
.uyari.bilgi{background:#eef3fa;border-color:#cfdff2;color:#1a4275}
.uyari b{font-weight:700}

.bos{background:#fff;border:1px dashed var(--cizgi);border-radius:var(--r);padding:40px 24px;text-align:center;color:var(--ink2)}
.ipucu{color:var(--ink2);font-size:12.5px;margin:6px 0 0}

/* ---------- giriş ekranı ---------- */
body.giris{
  background:linear-gradient(150deg,#12315c,#2f6fbf);
  min-height:100vh;display:flex;flex-direction:column;
}
.giris-kutu{
  background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(6,20,44,.35);
  width:100%;max-width:400px;padding:32px 30px;margin:auto;
}
.giris-kutu .im{
  width:52px;height:52px;border-radius:13px;background:var(--lac);color:#fff;
  display:grid;place-items:center;font-size:25px;font-weight:700;margin-bottom:16px;
}
.giris-kutu h1{font-size:21px;margin-bottom:4px}
.giris-kutu p.alt{color:var(--ink2);font-size:14px;margin:0 0 22px}
.giris-kutu .dugme{width:100%;padding:12px}
.giris-kutu .geri{display:block;text-align:center;margin-top:18px;font-size:13.5px;color:var(--ink2)}

/* ---------- program editörü ---------- */
.gun{border:1px solid var(--cizgi);border-radius:var(--r);margin-bottom:14px;background:#fff;box-shadow:var(--golge)}
.gun > .gbas{
  background:#eef3fa;border-bottom:1px solid var(--cizgi);padding:10px 14px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:var(--r) var(--r) 0 0;
}
.gun > .gbas .no{font-weight:700;color:var(--lac);white-space:nowrap}
.gun > .gbas .haftagun{color:var(--ink2);font-size:13px;font-weight:600;min-width:78px}
.gun > .ggov{padding:12px 14px}
.blok{border:1px solid var(--cizgi);border-radius:8px;margin-bottom:10px;overflow:hidden}
.blok.oturum > .bbas{background:#f6f8fc;border-bottom:1px solid var(--cizgi)}
.blok.ara{background:#fbfaf5;border-color:#e9e2cf}
.blok > .bbas{padding:8px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.blok > .bgov{padding:10px}
.blok .etiket{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--ink2);text-transform:uppercase}
.saatler{color:var(--lac);font-weight:600;font-size:13px;white-space:nowrap}
.psatir{
  display:grid;grid-template-columns:100px 100px 1fr 190px 190px 74px;gap:8px;align-items:start;
  padding:8px;border:1px solid var(--cizgi);border-radius:8px;margin-bottom:8px;background:#fff;
}
.psatir .etk{display:none}
@media(max-width:1080px){
  .psatir{grid-template-columns:1fr 1fr}
  .psatir .etk{display:block;font-size:11px;color:var(--ink2);font-weight:600;margin-bottom:3px}
  .psatir .genis,.psatir .islem{grid-column:1/-1}
}
.psatir .islem{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.ekle{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.kaydetdurum{font-size:13px;color:var(--yesil);opacity:0;transition:opacity .3s}
.kaydetdurum.gor{opacity:1}
.kaydetdurum.bekliyor{color:var(--sari)}

/* ---------- modal ---------- */
.ort{position:fixed;inset:0;background:rgba(12,22,38,.5);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;overflow:auto}
.modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:100%;max-width:560px}
.modal.gen{max-width:900px}
.modal .mbas{padding:14px 18px;border-bottom:1px solid var(--cizgi);display:flex;align-items:center;gap:10px}
.modal .mbas h3{margin:0;font-size:16px;flex:1}
.modal .mgov{padding:18px}
.modal .malt{padding:14px 18px;border-top:1px solid var(--cizgi);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

/* ---------- yazdırma çıktısı ---------- */
.kagit{background:#fff;padding:26px 30px;border-radius:8px;border:1px solid var(--cizgi)}
.cikti{font-family:"Times New Roman",Georgia,serif;color:#000}
.cikti h1{font-size:15pt;text-align:center;margin:0 0 4px;font-weight:700;line-height:1.3}
.cikti .altbas{text-align:center;margin:0 0 4px;font-size:12pt;font-weight:700}
.cikti .not{text-align:center;margin:0 0 14px;font-size:11pt;font-style:italic}
.cikti table{width:100%;border-collapse:collapse;font-size:11pt;margin-top:12px}
.cikti td{border:1px solid #000;padding:5px 8px;vertical-align:middle}
.cikti .saat{width:120px;white-space:nowrap;text-align:center}
.cikti .gun td{background:#e6e6e6;font-weight:700;text-align:center;letter-spacing:.3px}
.cikti .oturum td{background:#f2f2f2;font-weight:700}
.cikti .ara td{font-weight:700;text-align:center}
.cikti .kisi{font-weight:700;margin-top:2px}
.cikti .unvan{font-weight:400;font-style:italic}

body.yazdir{background:#eef1f6;padding:24px 16px}
body.yazdir .sar{max-width:820px;margin:0 auto}
body.yazdir .arac{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px;flex-wrap:wrap}

@media print{
  body{background:#fff}
  .yan,.tepe,.arac,.ort,.ekle,.dugme,.ikon{display:none !important}
  .icerik{padding:0}
  .kagit{border:0;padding:0}
  body.yazdir{padding:0}
  @page{size:A4 portrait;margin:14mm 12mm}
  .cikti tr{page-break-inside:avoid}
}
