:root{
  --bg:#f4f7fb; --panel:#ffffff; --ink:#14213d; --muted:#667085; --line:#d9e1ee;
  --primary:#123c69; --primary2:#0f766e; --soft:#eef6ff; --danger:#b42318; --warn:#b54708;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;background:linear-gradient(135deg,#0b1f3b,#123c69);color:#fff;box-shadow:0 8px 25px rgba(12,31,59,.22)}
.brand{font-size:30px;font-weight:900;letter-spacing:-.7px}.tagline{opacity:.8;font-size:13px;margin-top:2px}.actions{display:flex;gap:8px;flex-wrap:wrap}.app-shell{max-width:1500px;margin:24px auto;padding:0 18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 10px 30px rgba(20,33,61,.06)}
h1,h2{margin:0 0 14px} h2{font-size:20px}.muted{color:var(--muted);font-size:14px;line-height:1.5}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:520px}label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px;color:#344054}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}input,select{height:40px}textarea{min-height:110px;resize:vertical;line-height:1.45}button{border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.primary,.big-primary{background:#1d9a8a;color:white}.secondary{background:#e8f5f3;color:#0f766e}.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.24)}.big-primary{width:100%;padding:15px;font-size:16px;margin-top:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.holiday-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}.day-cell{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:74px;padding:8px;display:flex;flex-direction:column;gap:5px}.day-cell.weekend{background:#fff8f0}.day-cell.holiday{background:#ffeceb;border-color:#f5b8b3}.day-name{font-size:11px;color:var(--muted);font-weight:800}.day-num{font-size:18px;font-weight:900}.holiday-toggle{margin-top:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:#475467}.holiday-toggle input{height:auto}.inline-check{display:flex;align-items:center;gap:6px;font-weight:800}.inline-check input{height:auto;width:auto}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.card{background:var(--soft);border:1px solid #d3e9ff;border-radius:14px;padding:13px}.card b{display:block;font-size:22px;margin-top:4px}.bulk-add-box{background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0 16px}.bulk-add-box textarea{width:100%;margin-top:6px}.bulk-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.input-table{width:100%;border-collapse:collapse;min-width:1820px}.input-table th,.input-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:13px}.input-table th{background:#f8fbff;color:#344054}.input-table td input,.input-table td select{width:100%}.delete-btn{background:#fff1f0;color:var(--danger);padding:8px 10px}.warnings{display:none;background:#fff7e6;border:1px solid #ffd591;color:#7a2e0e;border-radius:14px;padding:12px;margin-bottom:16px}.warnings.show{display:block}.schedule-table,.stats-table{width:100%;border-collapse:collapse;font-size:12px}.schedule-table th,.schedule-table td,.stats-table th,.stats-table td{border:1px solid #ccd6e3;padding:7px;vertical-align:top}.schedule-table th{background:#102a43;color:#fff;position:sticky;top:0}.stats-table th{background:#e8f0fb}.date-col{min-width:92px;font-weight:900}.weekend-row{background:#fff8f0}.holiday-row{background:#ffeceb}.name-pill{display:inline-block;background:#e8f5f3;color:#0f766e;border:1px solid #b7e1da;padding:3px 7px;border-radius:999px;margin:2px;font-weight:800}.responsible{background:#fff4d6;color:#92400e;border-color:#f9d67a}.empty{background:#fff1f0;color:#b42318;border-color:#f5b8b3}.slash{display:inline-block;margin:0 2px;color:#667085;font-weight:900}.empty-state{color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;padding:20px;border-radius:14px}.print-title{display:none}.footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}
@media print{@page{size:297mm 210mm;margin:7mm}html,body{width:297mm;min-height:210mm}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,.topbar,.footer{display:none!important}.app-shell{max-width:none;width:100%;margin:0;padding:0}.panel{box-shadow:none;border:0;border-radius:0;padding:8px;margin:0 0 14px}.print-title{display:block;text-align:center;margin-bottom:14px}.schedule-table th{position:static;background:#ddd;color:#000}.table-wrap{overflow:visible!important;border:0}.schedule-table,.stats-table{font-size:8.5px;width:100%;page-break-inside:auto}.result-panel{break-inside:auto;page-break-inside:auto}.name-pill{border:0;background:transparent;color:#000;padding:0;margin:0}.responsible{background:transparent;color:#000}}

/* v2.5 alan bazlı sütun renkleri */
.schedule-table th.area-yesil,.schedule-table td.area-yesil{background:#e9f9ef!important}
.schedule-table th.area-sari,.schedule-table td.area-sari{background:#fff8d6!important}
.schedule-table th.area-kirmizi,.schedule-table td.area-kirmizi{background:#ffe8e8!important}
.schedule-table th.area-travma,.schedule-table td.area-travma{background:#e7f1ff!important}
.schedule-table th.area-ambulans,.schedule-table td.area-ambulans{background:#f1e8ff!important}
.schedule-table th.area-sari-res,.schedule-table td.area-sari-res{background:#fff1bf!important}
.schedule-table th.area-gozlem,.schedule-table td.area-gozlem{background:#edf2f7!important}
.schedule-table th.area-sorumlu,.schedule-table td.area-sorumlu{background:#ffeec7!important}
.schedule-table th.area-yesil,.schedule-table th.area-sari,.schedule-table th.area-kirmizi,.schedule-table th.area-travma,.schedule-table th.area-ambulans,.schedule-table th.area-sari-res,.schedule-table th.area-gozlem,.schedule-table th.area-sorumlu{color:#14213d!important;border-color:#b8c4d6!important}
@media print{
  .schedule-table th.area-yesil,.schedule-table td.area-yesil{background:#e9f9ef!important}
  .schedule-table th.area-sari,.schedule-table td.area-sari{background:#fff8d6!important}
  .schedule-table th.area-kirmizi,.schedule-table td.area-kirmizi{background:#ffe8e8!important}
  .schedule-table th.area-travma,.schedule-table td.area-travma{background:#e7f1ff!important}
  .schedule-table th.area-ambulans,.schedule-table td.area-ambulans{background:#f1e8ff!important}
  .schedule-table th.area-sari-res,.schedule-table td.area-sari-res{background:#fff1bf!important}
  .schedule-table th.area-gozlem,.schedule-table td.area-gozlem{background:#edf2f7!important}
  .schedule-table th.area-sorumlu,.schedule-table td.area-sorumlu{background:#ffeec7!important}
}

/* v2.6 resmi tatil satırları: alan renkleri korunur ama daha koyu tonla ayrışır */
.schedule-table tr.holiday-row td{background:#ffd8d4!important;font-weight:800}
.schedule-table tr.holiday-row td.area-yesil{background:#c7efd4!important}
.schedule-table tr.holiday-row td.area-sari{background:#fff0a8!important}
.schedule-table tr.holiday-row td.area-kirmizi{background:#ffcaca!important}
.schedule-table tr.holiday-row td.area-travma{background:#cbe2ff!important}
.schedule-table tr.holiday-row td.area-ambulans{background:#dec9ff!important}
.schedule-table tr.holiday-row td.area-sari-res{background:#ffe28a!important}
.schedule-table tr.holiday-row td.area-gozlem{background:#d7e0ea!important}
.schedule-table tr.holiday-row td.area-sorumlu{background:#ffd991!important}
.schedule-table tr.holiday-row td.date-col{background:#ffb4aa!important}
@media print{
  .schedule-table tr.holiday-row td{background:#ffd8d4!important;font-weight:800}
  .schedule-table tr.holiday-row td.area-yesil{background:#c7efd4!important}
  .schedule-table tr.holiday-row td.area-sari{background:#fff0a8!important}
  .schedule-table tr.holiday-row td.area-kirmizi{background:#ffcaca!important}
  .schedule-table tr.holiday-row td.area-travma{background:#cbe2ff!important}
  .schedule-table tr.holiday-row td.area-ambulans{background:#dec9ff!important}
  .schedule-table tr.holiday-row td.area-sari-res{background:#ffe28a!important}
  .schedule-table tr.holiday-row td.area-gozlem{background:#d7e0ea!important}
  .schedule-table tr.holiday-row td.area-sorumlu{background:#ffd991!important}
  .schedule-table tr.holiday-row td.date-col{background:#ffb4aa!important}
}


/* v2.7: resmi tatil satırını sütun renklerinin üstünde daha net göster */
.schedule-table tbody tr.holiday-row > td{
  border-top:3px solid #b42318!important;
  border-bottom:3px solid #b42318!important;
  box-shadow: inset 0 0 0 9999px rgba(180,35,24,.11)!important;
  font-weight:900!important;
}
.schedule-table tbody tr.holiday-row > td:first-child{
  border-left:5px solid #b42318!important;
}
.schedule-table tbody tr.holiday-row > td:nth-child(2)::after{
  content:"  • RESMİ TATİL";
  display:block;
  margin-top:4px;
  color:#7a271a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.4px;
}
.schedule-table tbody tr.holiday-row .name-pill{
  background:rgba(255,255,255,.72)!important;
  border-color:#b42318!important;
  color:#14213d!important;
}
@media print{
  .schedule-table tbody tr.holiday-row > td{
    border-top:2px solid #000!important;
    border-bottom:2px solid #000!important;
    box-shadow: inset 0 0 0 9999px rgba(0,0,0,.09)!important;
    font-weight:900!important;
  }
  .schedule-table tbody tr.holiday-row > td:nth-child(2)::after{
    color:#000!important;
  }
}

/* v2.8: daha görünür resmi tatil satırları + sticky tablo başlıkları */
.table-wrap{
  max-height:72vh;
  overflow:auto;
  position:relative;
}
.input-table thead th,
.schedule-table thead th,
.stats-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  box-shadow:0 2px 0 rgba(15,23,42,.12);
}
.input-table thead th{background:#eef6ff!important;color:#0f172a!important}
.schedule-table thead th{background:#102a43!important;color:#fff!important}
.stats-table thead th{background:#dbeafe!important;color:#0f172a!important}

/* Resmi tatil: her hücrede alan renginin daha koyu versiyonu */
.schedule-table tbody tr.holiday-row > td{
  border-top:4px solid #7f1d1d!important;
  border-bottom:4px solid #7f1d1d!important;
  font-weight:900!important;
}
.schedule-table tbody tr.holiday-row > td:not([class*="area-"]){background:#fecaca!important;color:#111827!important}
.schedule-table tbody tr.holiday-row > td.date-col{background:#fca5a5!important;color:#111827!important;border-left:7px solid #7f1d1d!important}
.schedule-table tbody tr.holiday-row > td.area-yesil{background:#86efac!important;color:#052e16!important}
.schedule-table tbody tr.holiday-row > td.area-sari{background:#fde68a!important;color:#422006!important}
.schedule-table tbody tr.holiday-row > td.area-kirmizi{background:#fca5a5!important;color:#450a0a!important}
.schedule-table tbody tr.holiday-row > td.area-travma{background:#93c5fd!important;color:#082f49!important}
.schedule-table tbody tr.holiday-row > td.area-ambulans{background:#d8b4fe!important;color:#3b0764!important}
.schedule-table tbody tr.holiday-row > td.area-sari-res{background:#fcd34d!important;color:#422006!important}
.schedule-table tbody tr.holiday-row > td.area-gozlem{background:#cbd5e1!important;color:#0f172a!important}
.schedule-table tbody tr.holiday-row > td.area-sorumlu{background:#fdba74!important;color:#431407!important}
.schedule-table tbody tr.holiday-row > td:nth-child(2)::after{
  content:"RESMİ TATİL"!important;
  display:inline-block!important;
  margin-top:5px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#7f1d1d!important;
  color:white!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.4px!important;
}
.schedule-table tbody tr.holiday-row .name-pill{
  background:rgba(255,255,255,.82)!important;
  color:#111827!important;
  border-color:rgba(17,24,39,.22)!important;
}

@media print{
  .table-wrap{max-height:none!important;overflow:visible!important}
  .input-table thead th,.schedule-table thead th,.stats-table thead th{position:static!important;box-shadow:none!important}
  .schedule-table tbody tr.holiday-row > td{border-top:2px solid #000!important;border-bottom:2px solid #000!important}
}


/* v2.9: kişi/input tablosunda isim sütunu da yapışkan */
.input-table th:first-child,
.input-table td:first-child{
  position:sticky!important;
  left:0!important;
  z-index:26!important;
  background:#ffffff!important;
  box-shadow:2px 0 0 rgba(15,23,42,.08);
}
.input-table thead th:first-child{
  z-index:45!important;
  background:#dbeafe!important;
}
.input-table td:first-child input{
  font-weight:800;
}

/* v2.9: resmi tatil ayrımı; JS inline style destekli, CSS fallback daha koyu */
.schedule-table tbody tr.holiday-row > td{
  filter:saturate(1.18) contrast(1.05);
}
.schedule-table tbody tr.holiday-row > td:nth-child(2)::after{
  content:"RESMİ TATİL"!important;
}

/* v3.0: resmi tatil satırını gerçekten belirginleştir */
.schedule-table tbody tr.holiday-row > td,
.schedule-table tbody tr.holiday-row > td[style]{
  color:#fff!important;
  border-top:5px solid #111827!important;
  border-bottom:5px solid #111827!important;
  box-shadow: inset 0 0 0 9999px rgba(17,24,39,.18)!important;
  font-weight:900!important;
}
.schedule-table tbody tr.holiday-row > td.date-col,
.schedule-table tbody tr.holiday-row > td:not([class*="area-"]){
  background:#7f1d1d!important;
  color:#fff!important;
}
.schedule-table tbody tr.holiday-row > td.area-yesil{background:#15803d!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-sari{background:#ca8a04!important;color:#111827!important}
.schedule-table tbody tr.holiday-row > td.area-kirmizi{background:#b91c1c!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-travma{background:#1d4ed8!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-ambulans{background:#7e22ce!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-sari-res{background:#a16207!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-gozlem{background:#475569!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td.area-sorumlu{background:#c2410c!important;color:#fff!important}
.schedule-table tbody tr.holiday-row > td:nth-child(2)::after{
  content:"RESMİ TATİL"!important;
  display:inline-block!important;
  margin-top:5px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
}
.schedule-table tbody tr.holiday-row .name-pill{
  background:rgba(255,255,255,.9)!important;
  color:#111827!important;
  border-color:rgba(17,24,39,.3)!important;
}

/* v3.0: input isim sütunu sticky daha okunur */
.input-table th:first-child,
.input-table td:first-child{min-width:220px!important;}

/* v3.1: resmi tatil satırını alan rengini koruyarak gözle görülür koyulaştır */
.schedule-table tbody tr.holiday-row > td{
  background-image:linear-gradient(rgba(15,23,42,.32), rgba(15,23,42,.32))!important;
  color:#ffffff!important;
  border-top:6px solid #111827!important;
  border-bottom:6px solid #111827!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)!important;
}
.schedule-table tbody tr.holiday-row > td.date-col,
.schedule-table tbody tr.holiday-row > td:nth-child(2){
  background:#4c0519!important;
  background-image:none!important;
  color:#ffffff!important;
}
.schedule-table tbody tr.holiday-row > td.area-yesil{background-color:#0f6b33!important}
.schedule-table tbody tr.holiday-row > td.area-sari{background-color:#b77904!important;color:#111827!important}
.schedule-table tbody tr.holiday-row > td.area-kirmizi{background-color:#9f1239!important}
.schedule-table tbody tr.holiday-row > td.area-travma{background-color:#1e40af!important}
.schedule-table tbody tr.holiday-row > td.area-ambulans{background-color:#6b21a8!important}
.schedule-table tbody tr.holiday-row > td.area-sari-res{background-color:#92400e!important}
.schedule-table tbody tr.holiday-row > td.area-gozlem{background-color:#334155!important}
.schedule-table tbody tr.holiday-row > td.area-sorumlu{background-color:#9a3412!important}
.schedule-table tbody tr.holiday-row .name-pill{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#111827!important;
}
@media print{
  .schedule-table tbody tr.holiday-row > td{
    background-image:linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.25))!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* v3.2 final overrides: uyarı kutusu scroll + resmi tatil satırı gerçekten koyu overlay */
.warnings.show{
  display:block;
  max-height:260px;
  overflow-y:auto;
  overscroll-behavior:contain;
  line-height:1.45;
}
.schedule-table tbody tr.holiday-row > td{
  position:relative!important;
  background-image:linear-gradient(rgba(15,23,42,.34), rgba(15,23,42,.34))!important;
  color:#fff!important;
  font-weight:900!important;
  border-top:4px solid #0f172a!important;
  border-bottom:4px solid #0f172a!important;
}
.schedule-table tbody tr.holiday-row > td.date-col,
.schedule-table tbody tr.holiday-row > td:nth-child(2){
  background-color:#7f1d1d!important;
  background-image:none!important;
  color:#fff!important;
}
.schedule-table tbody tr.holiday-row > td.area-yesil{background-color:#15803d!important;background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28))!important;}
.schedule-table tbody tr.holiday-row > td.area-sari{background-color:#ca8a04!important;background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25))!important;color:#fff!important;}
.schedule-table tbody tr.holiday-row > td.area-kirmizi{background-color:#b91c1c!important;background-image:linear-gradient(rgba(0,0,0,.26),rgba(0,0,0,.26))!important;}
.schedule-table tbody tr.holiday-row > td.area-travma{background-color:#1d4ed8!important;background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25))!important;}
.schedule-table tbody tr.holiday-row > td.area-ambulans{background-color:#7e22ce!important;background-image:linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24))!important;}
.schedule-table tbody tr.holiday-row > td.area-sari-res{background-color:#a16207!important;background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28))!important;}
.schedule-table tbody tr.holiday-row > td.area-gozlem{background-color:#475569!important;background-image:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.22))!important;}
.schedule-table tbody tr.holiday-row > td.area-sorumlu{background-color:#c2410c!important;background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25))!important;}
.schedule-table tbody tr.holiday-row .name-pill{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#0f172a!important;
}
@media print{
  .warnings.show{max-height:none; overflow:visible;}
}
