*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f6f8;color:#1f2937}a{text-decoration:none;color:inherit}.top{background:#111827;color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.wrap{max-width:1150px;margin:auto;padding:20px}.nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.nav a,.btn{background:#fff;border:1px solid #e5e7eb;padding:11px 14px;border-radius:9px}.btn.primary{background:#111827;color:#fff;border-color:#111827}.card{background:#fff;border-radius:13px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.06);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat strong{font-size:28px;display:block}.muted{color:#6b7280}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}input,select,textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:8px;font-size:15px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee}.ok{background:#ecfdf5;color:#065f46;padding:10px;border-radius:8px}.err{background:#fef2f2;color:#991b1b;padding:10px;border-radius:8px}@media(max-width:760px){.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.wrap{padding:14px}table{font-size:13px}.top{padding:14px}.nav a{flex:1;text-align:center}}

.btn.danger{color:#991b1b;background:#fff;border-color:#fecaca}.table-wrap{overflow-x:auto}.ok,.err{margin-bottom:16px}button.btn{cursor:pointer;font-size:14px}
.checkline{display:flex;align-items:end}.checkline label{font-weight:700;margin:0;padding:12px 0}.checkline input,.primary-choice input{width:auto}.assignment-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:center;margin-bottom:10px}.primary-choice{white-space:nowrap;margin:0}.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.person-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;display:flex;gap:14px}.avatar{width:70px;height:70px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 70px;font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.person-body{min-width:0;flex:1}.small{font-size:13px;margin:4px 0 8px}.assignment-text{font-size:14px;margin:4px 0}.person-actions{margin-top:12px}@media(max-width:760px){.assignment-row{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.person-card{align-items:flex-start}}

/* v0.5 - Kişiler ekranı */
.people-section{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0 0 4px;font-size:24px}.section-head p{margin:0}.person-count{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;color:#4b5563}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.person-card{display:block;padding:0;overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 3px 12px rgba(17,24,39,.05);transition:.18s ease}.person-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(17,24,39,.09)}.person-card-top{display:flex;gap:15px;align-items:center;padding:18px 18px 14px}.avatar{width:86px;height:86px;flex:0 0 86px;background:#f3f4f6;border:3px solid #fff;box-shadow:0 0 0 1px #e5e7eb,0 4px 12px rgba(0,0,0,.08)}.person-summary{min-width:0;flex:1}.person-name{display:block;font-size:18px;line-height:1.25;margin-bottom:8px;color:#111827}.duty-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;margin-bottom:8px}.duty-badge.eligible{background:#ecfdf5;color:#047857}.duty-badge.not-eligible{background:#f3f4f6;color:#6b7280}.contact-line{font-size:13px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.assignments-box{border-top:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3;background:#fafafa;padding:12px 18px;min-height:52px}.assignment-pill{font-size:13px;color:#374151;line-height:1.4;padding:4px 0}.assignment-pill:before{content:'•';font-weight:900;margin-right:7px;color:#9ca3af}.person-actions{display:flex;gap:8px;padding:13px 18px;margin:0}.person-actions form{display:inline-flex;margin:0}.person-actions .btn{padding:8px 11px;font-size:13px}.edit-btn{font-weight:700}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 20px;color:#6b7280}.empty-state img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:12px}.empty-state strong{font-size:16px;color:#374151;margin-bottom:4px}
@media(max-width:760px){.people-section{padding:16px}.section-head{align-items:flex-start}.people-grid{grid-template-columns:1fr}.person-card-top{padding:15px}.avatar{width:76px;height:76px;flex-basis:76px}.person-name{font-size:17px}.assignments-box{padding:11px 15px}.person-actions{padding:12px 15px}}

/* v0.6 - Nöbet Ayarları */
.duty-intro h2{margin:4px 0 8px}.duty-intro p{margin:0;max-width:760px}.shift-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr .7fr 1fr;gap:12px;align-items:end}.action-row{display:flex;gap:8px}.shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shift-card{border:1px solid #e5e7eb;border-radius:15px;padding:17px;background:linear-gradient(180deg,#fff,#fafafa)}.shift-card.inactive{opacity:.62}.shift-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shift-card h3{font-size:19px;margin:7px 0 0}.shift-status{font-size:10px;font-weight:900;letter-spacing:.08em;background:#ecfdf5;color:#047857;border-radius:999px;padding:5px 8px}.inactive .shift-status{background:#f3f4f6;color:#6b7280}.people-number{text-align:center;min-width:58px;background:#f3f4f6;border-radius:12px;padding:8px}.people-number strong{display:block;font-size:22px;color:#111827}.people-number span{font-size:11px;color:#6b7280}.shift-time{font-size:24px;font-weight:800;letter-spacing:.02em;padding:20px 0;color:#111827}.shift-time span{color:#9ca3af;padding:0 7px}.shift-actions{display:flex;gap:8px;border-top:1px solid #eee;padding-top:13px}.shift-actions form{margin:0}.empty-shifts{grid-column:1/-1;border:1px dashed #d1d5db;border-radius:14px;padding:28px;text-align:center;color:#6b7280}.empty-shifts strong,.empty-shifts span{display:block}.empty-shifts strong{color:#374151;margin-bottom:5px}
@media(max-width:900px){.shift-form-grid{grid-template-columns:1fr 1fr 1fr}.shift-grid{grid-template-columns:1fr}}@media(max-width:600px){.shift-form-grid{grid-template-columns:1fr 1fr}.shift-form-grid>div:first-child{grid-column:1/-1}.shift-time{font-size:21px}}
/* v0.7 */
.duty-tabs{display:flex;gap:8px;margin-bottom:18px}.duty-tabs a{background:#fff;border:1px solid #e5e7eb;padding:10px 14px;border-radius:9px;font-weight:700}.duty-tabs a.active{background:#111827;color:#fff}.schedule-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.schedule-list{display:flex;flex-direction:column;gap:10px}.schedule-row{border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.schedule-row>div>span{display:block;font-size:13px;color:#6b7280;margin-top:5px}.schedule-status{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;background:#fef3c7;color:#92400e}.schedule-status.published{background:#ecfdf5;color:#047857}.schedule-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.duty-table-wrap{overflow-x:auto}.duty-table{min-width:720px}.replace-form{display:flex;gap:8px}.replace-form select{min-width:190px}.shift-grid{align-items:start}.shift-card{min-width:0;overflow:hidden}.shift-time{white-space:nowrap}.shift-actions{flex-wrap:wrap}
@media(max-width:800px){.schedule-form-grid{grid-template-columns:1fr 1fr}.schedule-form-grid>div:first-child{grid-column:1/-1}.schedule-title{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.schedule-form-grid{grid-template-columns:1fr}.schedule-form-grid>div:first-child{grid-column:auto}.schedule-row{flex-direction:column;align-items:flex-start}.duty-tabs a{flex:1;text-align:center}.shift-grid{display:flex;flex-direction:column}.shift-card{width:100%}}

/* v0.8 - sade nöbet listesi */
.duty-simple{width:100%;border-collapse:collapse}.duty-simple th,.duty-simple td{padding:12px 14px;border-bottom:1px solid #e7e7e7;text-align:left;vertical-align:middle}.duty-simple th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#666;background:#fafafa}.person-link{border:0;background:none;padding:0;color:#8b1118;font:inherit;font-weight:700;cursor:pointer;text-align:left}.change-select{min-width:190px;max-width:100%}.save-bar{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:14px;border-top:1px solid #ddd;display:flex;justify-content:flex-end;z-index:5;box-shadow:0 -8px 20px rgba(0,0,0,.06)}.person-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;padding:20px;align-items:center;justify-content:center}.person-modal.open{display:flex}.person-modal-card{background:#fff;border-radius:16px;max-width:480px;width:100%;padding:22px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}.person-modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer}.person-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}.person-head img{width:82px;height:82px;object-fit:cover;border-radius:50%;border:3px solid #eee}.person-info{display:grid;grid-template-columns:120px 1fr;gap:9px 12px;font-size:14px}.person-info b{color:#666}@media(max-width:700px){.duty-simple th:nth-child(4),.duty-simple td:nth-child(4){width:42%}.duty-simple th,.duty-simple td{padding:10px 7px;font-size:13px}.change-select{min-width:0;width:100%}.person-info{grid-template-columns:95px 1fr}.save-bar .btn{width:100%}}

/* v0.9 duty matrix */
.duty-days{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:8px;margin-top:10px}.day-check{display:flex;align-items:center;gap:8px;border:1px solid #e4e7ec;border-radius:10px;padding:10px 12px;background:#fff}.day-check input{width:auto;margin:0}.duty-matrix-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:14px}.duty-matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;background:#fff}.duty-matrix th,.duty-matrix td{padding:12px 10px;border-right:1px solid #eceff3;border-bottom:1px solid #eceff3;text-align:center;white-space:nowrap}.duty-matrix th{background:#f7f8fa;font-size:13px}.duty-matrix th:first-child,.duty-matrix td:first-child{position:sticky;left:0;z-index:2;background:#fff;text-align:left;font-weight:700}.duty-matrix thead th:first-child{background:#f7f8fa;z-index:3}.duty-matrix .shift-group{font-weight:800}.duty-name-btn{border:0;background:transparent;color:#8b101b;font:inherit;font-weight:700;cursor:pointer;padding:3px 5px;border-radius:7px}.duty-name-btn:hover{background:#f8ecee}.modal-change{margin-top:18px;padding-top:16px;border-top:1px solid #eee}.modal-change select{width:100%;margin:7px 0 10px}.person-modal-card{max-height:90vh;overflow:auto}@media(max-width:800px){.duty-days{grid-template-columns:repeat(2,1fr)}}

/* v0.9.1 - sade nobetci isimleri */
.duty-name-btn{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:#8b101b!important;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.duty-name-btn:hover,.duty-name-btn:focus{background:transparent!important;text-decoration:underline;color:#641018!important;outline:none}

/* v0.9.2 */
.schedule-row-actions{display:flex;align-items:center;gap:12px;padding:0!important;overflow:hidden}.schedule-main-link{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;padding:14px 16px;text-decoration:none;color:inherit;min-width:0}.schedule-row-actions form{padding-right:14px;margin:0}.btn.danger{background:#b42318;color:#fff;border-color:#b42318}.btn.small{padding:8px 12px;font-size:13px}.schedule-title-actions{display:flex;gap:10px;align-items:center}.schedule-title-actions form{margin:0}@media(max-width:700px){.schedule-row-actions{align-items:stretch}.schedule-main-link{align-items:flex-start;flex-direction:column}.schedule-row-actions form{display:flex;align-items:center;padding-right:10px}.schedule-title-actions{flex-wrap:wrap}}


/* v0.9.3 - nobet listesi islem butonlari yerlesim duzeltmesi */
.schedule-title{align-items:flex-start;}
.schedule-title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;flex:0 0 auto;}
.schedule-title-actions>a.btn,.schedule-title-actions form,.schedule-title-actions form .btn{margin:0;white-space:nowrap;}
.schedule-title-actions form{display:inline-flex;width:auto;}
.schedule-title-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;}
@media(max-width:800px){
  .schedule-title{flex-direction:column;align-items:stretch;}
  .schedule-title-actions{width:100%;justify-content:flex-start;}
}
@media(max-width:480px){
  .schedule-title-actions{display:grid;grid-template-columns:1fr;gap:9px;}
  .schedule-title-actions>a.btn,.schedule-title-actions form,.schedule-title-actions form .btn{width:100%;}
}


/* v0.10 - normal kullanici / Nobetlerim */
.my-duty-wrap{max-width:900px}.my-duty-welcome h2{margin:5px 0 6px}.my-duty-welcome p{margin:0;color:#6b7280}.my-duty-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.my-duty-heading h2{margin:0}.count-pill{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#111827;color:#fff;font-size:12px;font-weight:800}.muted-pill{background:#e5e7eb;color:#4b5563}.my-duty-list{display:flex;flex-direction:column;border-top:1px solid #edf0f3}.my-duty-row{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;padding:15px 2px;border-bottom:1px solid #edf0f3;align-items:center}.my-duty-date strong,.my-duty-shift strong{display:block;color:#111827}.my-duty-date span,.my-duty-shift span{display:block;color:#6b7280;font-size:13px;margin-top:4px}.my-duty-list.past{opacity:.75}.my-duty-empty{padding:22px 4px;color:#6b7280;text-align:center;border:1px dashed #d1d5db;border-radius:10px}@media(max-width:600px){.my-duty-row{grid-template-columns:1fr;gap:8px}.my-duty-shift{padding-top:8px;border-top:1px dashed #e5e7eb}}


/* v0.11 - nöbet durum takibi */
.duty-state{display:inline-flex;margin-left:5px;font-size:11px;font-weight:900;vertical-align:middle}.duty-state-completed{color:#047857}.duty-state-absent{color:#b42318}.duty-state-excused{color:#b45309}.status-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}.status-choice label{display:flex;align-items:center;gap:7px;border:1px solid #e5e7eb;border-radius:9px;padding:9px;font-weight:600;margin:0}.status-choice input{width:auto;margin:0}.status-form textarea{margin-top:6px}.status-form .btn{margin-top:10px}@media(max-width:480px){.status-choice{grid-template-columns:1fr}}

/* v0.11.1 - compact duty status badges */
.duty-status{display:inline-flex;align-items:center;gap:5px;margin-left:7px;vertical-align:middle;font-size:11px;font-weight:700;white-space:nowrap}
.duty-status-icon{width:19px;height:19px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900;line-height:1;flex:0 0 19px;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.duty-status-completed{color:#15803d}.duty-status-completed .duty-status-icon{background:#16a34a}
.duty-status-absent{color:#b91c1c}.duty-status-absent .duty-status-icon{background:#dc2626}
.duty-status-excused{color:#c2410c}.duty-status-excused .duty-status-icon{background:#f97316}
.duty-status-planned{color:#6b7280}.duty-status-planned .duty-status-icon{background:#6b7280}
.duty-name-btn{color:#111827!important}
@media(max-width:700px){.duty-status{gap:4px;margin-left:5px;font-size:10px}.duty-status-icon{width:17px;height:17px;flex-basis:17px;font-size:10px}}

/* v0.11.2: ana nöbet çizelgesinde yalnızca durum ikonu */
.duty-table .status-text, .schedule-table .status-text, .duty-grid .status-text, table .duty-status-text { display:none !important; }

/* v0.11.3 - Nöbet hücreleri: ikon solda sabit, isimler sola hizalı */
.duty-matrix tbody td:not(:first-child){text-align:left!important;}
.duty-matrix tbody td:not(:first-child) .duty-status{margin-left:0!important;margin-right:7px!important;vertical-align:middle;}
.duty-matrix tbody td:not(:first-child) .duty-name-btn{vertical-align:middle;text-align:left!important;}


/* v0.12 - mazeret bildirim sistemi */
.excuse-duty-row{grid-template-columns:1.35fr .9fr auto}.excuse-action{display:flex;align-items:center;justify-content:flex-end;gap:8px}.excuse-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap;background:#f3f4f6;color:#4b5563}.excuse-pill.pending{background:#fff7ed;color:#c2410c}.excuse-pill.accepted{background:#ecfdf5;color:#047857}.excuse-pill.rejected{background:#fef2f2;color:#b42318}.excuse-modal-card h2{margin-top:0}.excuse-submit{margin-top:12px}.excuse-admin-list{display:flex;flex-direction:column;gap:12px}.excuse-admin-card{border:1px solid #e5e7eb;border-radius:13px;padding:16px}.excuse-admin-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.excuse-admin-main strong,.excuse-admin-main span{display:block}.excuse-admin-main>div>span{font-size:13px;color:#6b7280;margin-top:4px}.excuse-reason{background:#f9fafb;border-radius:9px;padding:11px 12px;margin-top:12px;font-size:14px}.excuse-admin-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}.excuse-admin-form .action-row{white-space:nowrap}.excuse-manager-note{font-size:13px;color:#4b5563;margin-top:10px}@media(max-width:700px){.excuse-duty-row{grid-template-columns:1fr}.excuse-action{justify-content:flex-start}.excuse-admin-main{flex-direction:column}.excuse-admin-form{grid-template-columns:1fr}.excuse-admin-form .action-row{display:grid;grid-template-columns:1fr 1fr}.excuse-admin-form .btn{width:100%}}

/* v0.12.1 - Kullanıcı nöbet geçmişi ve mazeret sonuç detayı */
.my-duty-status-line{display:flex;align-items:center;gap:8px}.my-duty-status-line .duty-status{margin:0}.excuse-pill-button{border:0;cursor:pointer;font-family:inherit}.excuse-pill-button:hover{text-decoration:underline}.past-status-label{font-size:12px;font-weight:800}.excuse-result-block{margin-top:14px;padding:12px;background:#f9fafb;border-radius:10px}.excuse-result-block b{display:block;margin-bottom:6px}.excuse-result-block p{margin:0;white-space:pre-wrap;color:#374151}.excuse-result-date{margin-top:14px;font-size:13px;color:#4b5563}

/* v0.12.3 - mazeret ünlemini yuvarlağın tam merkezine sabitle */
.duty-status-excused .duty-status-icon{
  position:relative;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden;
}
.duty-status-excused .duty-status-icon::before{
  content:"!";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  font-family:Arial,sans-serif;
}
@media(max-width:700px){
  .duty-status-excused .duty-status-icon::before{font-size:10px;}
}

/* v0.13 - Kişi kartı nöbet geçmişi */
.history-btn{font-weight:700}.duty-history-modal{width:min(860px,94vw);max-height:88vh;overflow:auto}.duty-history-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.duty-history-head h2{margin:3px 0 0}.history-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;flex:0 0 58px;border:1px solid #e5e7eb}.history-avatar img{width:100%;height:100%;object-fit:cover}.duty-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.duty-summary-grid>div{border:1px solid #e5e7eb;border-radius:12px;padding:13px;background:#fafafa}.duty-summary-grid strong{display:block;font-size:24px;color:#111827}.duty-summary-grid span{font-size:12px;font-weight:700;color:#6b7280}.duty-summary-grid .sum-completed strong{color:#15803d}.duty-summary-grid .sum-absent strong{color:#b91c1c}.duty-summary-grid .sum-excused strong{color:#c2410c}.history-table-wrap{overflow:auto}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:11px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.history-table th{font-size:12px;color:#6b7280;background:#f9fafb}.history-table td{font-size:13px}.history-table td small{display:block;color:#6b7280;margin-top:2px}.history-status{margin:0}.history-status .duty-status-icon{margin:0}.history-status>span:last-child{font-size:12px;font-weight:800}@media(max-width:700px){.duty-summary-grid{grid-template-columns:repeat(2,1fr)}.duty-history-modal{width:94vw}.history-table{min-width:620px}}

/* v0.13.1 - Nöbet geçmişi profil fotoğrafı güvenli boyut */
.duty-history-modal .history-avatar{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;overflow:hidden!important;border-radius:50%!important;display:block!important}
.duty-history-modal .history-avatar img{display:block!important;width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;object-fit:cover!important;border-radius:50%!important}

/* v0.13.2 - Nöbet geçmişinde 5 satır görünür, devamı dikey kaydırılır */
.duty-history-modal .history-table-wrap{max-height:292px;overflow-y:auto;overflow-x:auto;border-bottom:1px solid #e5e7eb}
.duty-history-modal .history-table thead th{position:sticky;top:0;z-index:2;background:#f9fafb}


/* v0.14 - Kişiler arama ve filtreleme */
.people-filters{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr auto;gap:10px;align-items:end;padding:14px;margin:-2px 0 18px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}
.people-filters label{font-size:12px;color:#4b5563;margin-bottom:5px}.people-filters input,.people-filters select{background:#fff}.people-filter-actions{display:flex;gap:7px;align-items:center}.people-filter-actions .btn{white-space:nowrap}
@media(max-width:980px){.people-filters{grid-template-columns:1fr 1fr}.people-filter-search{grid-column:1/-1}.people-filter-actions{grid-column:1/-1}}
@media(max-width:600px){.people-filters{grid-template-columns:1fr}.people-filter-search,.people-filter-actions{grid-column:auto}.people-filter-actions .btn{flex:1;text-align:center}}

/* v0.15 - Raporlar */
.reports-wrap{max-width:1180px}.report-title h2{margin-bottom:4px}.report-title p{margin-top:0}.report-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:16px}.report-filter-action{display:flex;align-items:end}.report-filter-action .btn{min-height:42px}.report-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}.report-stat{margin:0}.report-stat span{display:block;font-size:12px;font-weight:700;color:#6b7280}.report-stat strong{display:block;font-size:28px;margin-top:4px}.report-stat.completed strong,.r-completed{color:#15803d}.report-stat.absent strong,.r-absent{color:#b91c1c}.report-stat.excused strong,.r-excused{color:#c2410c}.report-stat.planned strong{color:#6b7280}.report-table-wrap{overflow:auto}.report-table{width:100%;border-collapse:collapse;min-width:680px}.report-table th,.report-table td{padding:11px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.report-table th{font-size:12px;color:#6b7280;background:#f9fafb}.report-table td{font-size:13px}.report-table .duty-status{margin-left:0}
@media(max-width:900px){.report-summary{grid-template-columns:repeat(2,1fr)}.report-filters{grid-template-columns:1fr 1fr}.report-filter-action{grid-column:1/-1}.report-filter-action .btn{width:100%}}
@media(max-width:560px){.report-summary{grid-template-columns:1fr 1fr}.report-filters{grid-template-columns:1fr}.report-filter-action{grid-column:auto}}

/* v0.15.1 - Rapor PDF filtreleri */
.report-pdf-filter{min-width:150px}.report-pdf-action{display:flex;align-items:end}.report-pdf-action .btn{min-height:42px;white-space:nowrap}
@media(max-width:900px){.report-pdf-filter,.report-pdf-action{grid-column:auto}.report-pdf-action .btn{width:100%}}
@media(max-width:560px){.report-pdf-filter,.report-pdf-action{grid-column:auto}}

/* v0.15.2 - PDF turu ve PDF Al ayni satir */
.report-pdf-group{display:flex;align-items:flex-end;gap:10px;min-width:290px}.report-pdf-group .report-pdf-filter{flex:1;min-width:150px}.report-pdf-group .report-pdf-action{flex:0 0 auto}.report-pdf-group .report-pdf-action .btn{min-height:42px}
@media(max-width:560px){.report-pdf-group{grid-column:1/-1;width:100%;min-width:0}.report-pdf-group .report-pdf-filter{flex:1}.report-pdf-group .report-pdf-action .btn{width:auto}}

/* v0.16 - ortak üst menü */
.app-header{min-height:64px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:18px;padding:9px 22px;position:sticky;top:0;z-index:50;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.app-brand{min-width:250px}.app-brand>a{display:block;color:#111827;text-decoration:none;font-weight:800;font-size:14px}.app-brand span{display:block;color:#6b7280;font-size:11px;margin-top:3px}.app-nav{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap}.app-nav a{color:#374151;text-decoration:none;font-size:13px;font-weight:700;padding:8px 10px;border-radius:8px}.app-nav a:hover{background:#f3f4f6;color:#991b1b}.app-user{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;font-weight:700;color:#374151}.app-logout{background:#991b1b;color:#fff!important;text-decoration:none;padding:8px 11px;border-radius:8px}.super-org-select{display:flex;gap:8px;align-items:end}.dashboard-panels{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.today-duty-list,.dashboard-excuses{display:flex;flex-direction:column;gap:8px}.dash-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.dash-row:last-child{border-bottom:0}.dash-row small{color:#6b7280}.dashboard-org-picker{margin-bottom:16px}
@media(max-width:1050px){.app-header{align-items:flex-start;flex-wrap:wrap}.app-brand{min-width:0;flex:1}.app-nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.app-user{margin-left:auto}.dashboard-panels{grid-template-columns:1fr}}

/* v0.16.1 kullanıcı profili */
.app-user-name{font-weight:800;color:#fff;padding:8px 10px;border-radius:8px;transition:.15s ease}.app-user-name:hover{background:rgba(255,255,255,.1)}
.profile-grid{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start}.profile-avatar{width:110px;height:110px;border-radius:50%;overflow:hidden;border:1px solid #e5e7eb;background:#f3f4f6}.profile-avatar img{width:100%;height:100%;object-fit:cover}.readonly-field{background:#f3f4f6;color:#4b5563}.profile-actions{display:flex;gap:10px;align-items:center;margin-top:16px}.profile-section-title{margin:22px 0 12px;padding-top:18px;border-top:1px solid #eee}.assignment-pill b{color:#111827}
@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-avatar{width:90px;height:90px}}

/* v0.16.2 - MHP kırmızısı ortak üst menü */
.app-header{
  background:#8f1018;
  border-bottom-color:#6f0c12;
  box-shadow:0 2px 8px rgba(0,0,0,.14);
}
.app-brand>a{color:#fff!important}
.app-brand span{color:#f6d9dc!important}
.app-nav a{color:#fff!important}
.app-nav a:hover,.app-nav a:focus{background:rgba(255,255,255,.14)!important;color:#fff!important}
.app-user{color:#fff!important}
.app-user-name{color:#fff!important;background:rgba(255,255,255,.08)}
.app-user-name:hover,.app-user-name:focus{background:rgba(255,255,255,.18)!important;color:#fff!important}
.app-logout{background:#fff!important;color:#8f1018!important;border:1px solid #fff!important;font-weight:800}
.app-logout:hover,.app-logout:focus{background:#f8e9ea!important;color:#6f0c12!important}

/* v0.16.3 - aktif kullanıcı ve çıkış her zaman sağda */
.app-user{margin-left:auto;flex:0 0 auto}

/* v0.16.4 - Kurumsal bordo tema */
:root{
  --brand-burgundy:#741f2b;
  --brand-burgundy-dark:#5d1822;
  --brand-burgundy-soft:#f6ecee;
}
.app-header{
  background:var(--brand-burgundy)!important;
  border-bottom-color:var(--brand-burgundy-dark)!important;
}
.app-logout{
  color:var(--brand-burgundy)!important;
}
.app-logout:hover,.app-logout:focus{
  background:var(--brand-burgundy-soft)!important;
  color:var(--brand-burgundy-dark)!important;
}
.btn.primary,
button.btn.primary,
input.btn.primary{
  background:var(--brand-burgundy)!important;
  border-color:var(--brand-burgundy)!important;
  color:#fff!important;
}
.btn.primary:hover,
button.btn.primary:hover,
input.btn.primary:hover{
  background:var(--brand-burgundy-dark)!important;
  border-color:var(--brand-burgundy-dark)!important;
}
.duty-tabs a.active{
  background:var(--brand-burgundy)!important;
  border-color:var(--brand-burgundy)!important;
  color:#fff!important;
}
.app-nav a:hover,.app-nav a:focus{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
/* Anlam taşıyan durum renkleri (katıldı/katılmadı/mazeretli/planlandı), hata ve tehlike butonları korunur. */

/* v0.16.5 - işlem butonlarını kurumsal bordo temada birleştir */
.btn.danger,
button.btn.danger,
input.btn.danger{
  background:var(--brand-burgundy)!important;
  border-color:var(--brand-burgundy)!important;
  color:#fff!important;
}
.btn.danger:hover,
.btn.danger:focus,
button.btn.danger:hover,
button.btn.danger:focus,
input.btn.danger:hover,
input.btn.danger:focus{
  background:var(--brand-burgundy-dark)!important;
  border-color:var(--brand-burgundy-dark)!important;
  color:#fff!important;
}

/* v0.18 - kompakt kurumsal arayüz */
:root{
  --ui-radius:7px;
  --ui-control-h:34px;
}
body{font-size:14px}
.wrap{padding:16px 20px}
.card{border-radius:10px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px rgba(17,24,39,.05)}
.btn,.nav a{padding:7px 11px;border-radius:var(--ui-radius);font-size:13px;line-height:18px;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.btn.small,.person-actions .btn{padding:5px 9px;font-size:12px;min-height:30px}
button.btn{font-size:13px}
input,select,textarea{padding:8px 10px;border-radius:7px;font-size:14px}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:36px}
label{font-size:13px;margin-bottom:5px}
th,td{padding:9px 10px}
.section-head{margin-bottom:14px}.section-head h2{font-size:21px}.people-section{padding:18px}
.person-card{border-radius:11px}.person-card-top{padding:14px 15px 11px}.assignments-box{padding:10px 15px}.person-actions{padding:10px 15px}
.app-header{min-height:56px;padding:7px 18px;gap:14px}
.app-brand{min-width:275px;display:flex;align-items:center;gap:10px}
.app-brand>a{display:flex!important;align-items:center;gap:10px;font-size:13px!important;line-height:1.2}
.app-brand span{margin-top:2px!important;margin-left:42px}
.app-nav{gap:2px}.app-nav a{font-size:12px;padding:7px 9px;border-radius:6px}
.app-user{gap:7px;font-size:12px}.app-user-name,.app-logout{padding:7px 9px;border-radius:6px}
.brand-logo{width:32px;height:32px;flex:0 0 32px;display:block}
.login-logo{width:86px;height:86px;margin:0 auto 10px;display:block}
.login-card{padding:24px 26px!important;border-top:4px solid var(--brand-burgundy)}
.login-title{margin:2px 0 2px;text-align:center;font-size:22px}.login-subtitle{text-align:center;margin:0 0 18px}
.schedule-title-actions .btn,.report-filter-action .btn,.report-pdf-group .report-pdf-action .btn{min-height:34px!important}
@media(max-width:760px){.wrap{padding:12px}.app-header{padding:7px 12px}.app-brand{min-width:0}.app-brand span{margin-left:42px}.btn,.nav a{min-height:32px}}

/* v0.18.1 - Kişi görev bilgileri ve yönetici dashboard nöbet durumları */
.assignment-pill{display:flex;flex-wrap:wrap;gap:5px 18px}
.assignment-pill span{display:inline-block}
.dash-person{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.dash-duty-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;white-space:nowrap}
.duty-status-pending{color:#a16207}.duty-status-pending .duty-status-icon{background:#ca8a04}
@media(max-width:700px){.dash-row{align-items:flex-start}.dash-person{gap:6px}.dash-duty-status{font-size:10px}}


/* v0.18.2 - Dashboard durum ikonları ve üst menü üç hilal düzeltmesi */
.dashboard-panels .dash-row{align-items:center}
.dashboard-panels .dash-person{justify-content:flex-start;text-align:left;flex-wrap:nowrap}
.dashboard-panels .dash-duty-status{flex:0 0 auto;gap:0}
.dashboard-panels .dash-duty-status .duty-status-icon{margin:0}
.brand-logo{background:transparent!important;border-radius:0!important}

/* v0.18.4 - ortak kurumsal üç hilal amblemi */
.brand-logo,.login-logo{object-fit:contain;background:transparent!important}
.brand-logo{width:34px;height:34px;flex:0 0 34px}
.login-logo{width:96px;height:96px;margin:0 auto 12px}
