<style>

#summus-manager-root,#summus-manager-root *{box-sizing:border-box}#summus-manager-root{margin:0;font-family:Inter,Arial,sans-serif;background:#f3f7fa;color:#0e2943}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side{background:#092f50;color:#fff;padding:28px 20px;position:sticky;top:0;height:100vh}.brand{font-size:24px;font-weight:850;margin:4px 8px 32px}.brand span{color:#69c9e8}.nav button{width:100%;border:0;background:transparent;color:#dce9f2;text-align:left;padding:12px 14px;border-radius:10px;font-size:14px;margin:3px 0;cursor:pointer}.nav button.active,.nav button:hover{background:#164b74;color:#fff}.sidefoot{position:absolute;bottom:24px;left:28px;font-size:12px;color:#9fb5c6}.main{padding:30px 34px}.top{display:flex;justify-content:space-between;gap:16px;align-items:center}.top h1{margin:0;font-size:28px}.sub{font-size:13px;color:#708496;margin-top:5px}.actions{display:flex;gap:9px}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:#159ac2;color:#fff}.secondary{background:#fff;color:#123653;border:1px solid #dbe6ed}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin:23px 0}.card{background:#fff;border:1px solid #e5edf2;border-radius:15px;padding:18px;box-shadow:0 5px 18px #143c5b0a}.stat small{color:#708496}.stat strong{display:block;font-size:28px;margin-top:7px}.alert{background:#fff9ed;border-color:#f2d89b}.grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.pill{padding:5px 9px;border-radius:20px;font-size:11px;background:#eaf7fb;color:#087b9d;font-weight:700}.request{border:1px solid #e3ebf0;border-radius:12px;padding:13px;margin:9px 0;cursor:pointer;transition:.15s}.request:hover{border-color:#7fcbe2;transform:translateY(-1px)}.request .row{display:flex;justify-content:space-between;gap:10px}.meta{font-size:12px;color:#718494;margin-top:5px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.quick button{font-size:11px;padding:7px;border:1px solid #dce8ee;background:#f8fbfc;border-radius:8px;cursor:pointer}.date{font-weight:800;margin:15px 0 5px}.slot{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:9px 0;border-top:1px solid #edf2f5}.appt{border-left:4px solid #159ac2;background:#eff9fc;padding:9px 11px;border-radius:8px}.free{border:1.5px dashed #a7d6e4;background:#f8fdfe;padding:10px;border-radius:8px;color:#4b8093;cursor:pointer}.bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.flow strong{display:block;margin-bottom:6px}.flow p{margin:0;font-size:12px;color:#718494;line-height:1.5}.status{font-size:11px;font-weight:800}.green{color:#16845a}.orange{color:#b27708}.red{color:#b74747}.modal{display:none;position:fixed;inset:0;background:#092f5088;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modalbox{background:white;border-radius:16px;width:min(620px,100%);padding:22px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.formgrid input,.formgrid select{width:100%;padding:11px;border:1px solid #d8e4eb;border-radius:9px}.wide{grid-column:1/-1}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.grid,.bottom{grid-template-columns:1fr}}@media(max-width:720px){.app{grid-template-columns:1fr}.side{display:none}.main{padding:18px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.top{align-items:flex-start;flex-direction:column}}

</style>
<style>

.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px}.auto-card{background:#fff;border:1px solid #dfe8f2;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(24,57,92,.06)}.auto-card h3{margin:0 0 8px;font-size:16px}.auto-card .big{font-size:28px;font-weight:700;color:#163a5f}.auto-card .muted{color:#6f8397;font-size:13px}.auto-status{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 10px;border-radius:999px;background:#edf7f2;color:#2d6b54;font-size:12px;font-weight:600}.comm-panel{margin-top:24px;background:linear-gradient(135deg,#f7fbff,#eef6fb);border:1px solid #d9e8f4;border-radius:22px;padding:22px}.comm-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.comm-head h2{margin:0;color:#153a5d}.today-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.today-chip{background:white;border:1px solid #dde8f2;border-radius:14px;padding:12px 14px;min-width:150px}.today-chip strong{display:block;font-size:20px;color:#173f67}.comm-table{width:100%;border-collapse:collapse;margin-top:18px;background:white;border-radius:16px;overflow:hidden}.comm-table th,.comm-table td{padding:12px 14px;border-bottom:1px solid #edf1f5;text-align:left;font-size:13px}.comm-table th{background:#f8fbfd;color:#60758a}.toggle{display:inline-block;width:38px;height:22px;border-radius:999px;background:#b9c8d6;position:relative;vertical-align:middle}.toggle.on{background:#2f7d69}.toggle:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.2s}.toggle.on:after{left:19px}.comm-btn{border:0;background:#173f67;color:white;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer}.comm-btn.alt{background:#eaf1f7;color:#173f67}.section-anchor{scroll-margin-top:20px}

</style>

<style>
/* LIVE REQUESTS INSIDE MAIN DASHBOARD */
#summus-live-target{min-height:90px}
#summus-live-target .summus-live-box{max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
#summus-live-target .summus-live-head{display:none!important}
#summus-live-target .summus-live-list{display:grid!important;gap:9px!important}
#summus-live-target .summus-live-card{margin:0!important;border:1px solid #e3ebf0!important;border-radius:12px!important;padding:13px!important;box-shadow:none!important;background:#fff!important;align-items:flex-start!important;transition:.15s!important}
#summus-live-target .summus-live-card:hover{border-color:#7fcbe2!important;transform:translateY(-1px)}
#summus-live-target .summus-live-name{font-size:15px!important;margin-bottom:5px!important}
#summus-live-target .summus-live-meta{font-size:12px!important;margin-bottom:5px!important}
#summus-live-target .summus-live-exam{font-size:12px!important;margin-bottom:6px!important;font-weight:600!important}
#summus-live-target .summus-live-contact{font-size:11px!important;gap:8px!important}
#summus-live-target .summus-live-time{font-size:10px!important;margin-top:6px!important}
#summus-live-target .summus-live-status{font-size:10px!important;padding:5px 8px!important}
#summus-live-target .summus-live-empty{padding:18px!important}
.summus-loading{padding:20px;border:1px dashed #cbdde7;border-radius:12px;color:#718494;text-align:center;font-size:13px}

/* DRAG & DROP */
.free.summus-drop-zone{transition:.15s;position:relative}
.free.summus-drop-zone.drag-over{border-color:#159ac2!important;background:#eaf8fc!important;box-shadow:0 0 0 3px rgba(21,154,194,.10)}
.free.summus-drop-zone.drag-over:after{content:"PUSŤ KLIENTA SEM";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;color:#0c7596}
.appt.summus-assigned{border-left-color:#159ac2}
.appt .appt-status{display:inline-block;margin-top:6px;font-size:10px;font-weight:800;color:#b27708;background:#fff4d8;padding:5px 7px;border-radius:999px}
.appt .send-term-btn{margin-top:8px;border:0;border-radius:8px;padding:7px 10px;background:#173f67;color:#fff;font-size:11px;font-weight:700;cursor:pointer}
.drag-help{font-size:11px;color:#708496;margin-top:7px}
#summus-toast{position:fixed;right:24px;bottom:24px;z-index:99999;background:#0e2943;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);font:600 13px Inter,Arial,sans-serif;display:none}
#summus-toast.error{background:#9d3838}
</style>

<style>
.summus-assigned{cursor:grab!important}
.summus-assigned:active{cursor:grabbing!important}
.summus-assigned.dragging{opacity:.45}
.assigned-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.move-hint{font-size:10px;color:#6f8799;font-weight:700}
.appt-status.sent{color:#16845a!important;background:#eaf8f1!important}
.appt-actions{margin-top:2px}
.send-term-btn:disabled{opacity:.6;cursor:wait}
</style>

<style>
.client-detail-modal{display:none;position:fixed;inset:0;background:rgba(9,47,80,.66);z-index:99998;align-items:center;justify-content:center;padding:20px}
.client-detail-modal.show{display:flex}
.client-detail-box{background:#fff;border-radius:18px;width:min(680px,100%);max-height:88vh;overflow:auto;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.client-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}
.client-detail-head h3{margin:0;color:#0e2943;font-size:22px}
.client-detail-close{border:1px solid #d9e4eb;background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:700;color:#173f67}
.client-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.client-detail-item{background:#f8fbfd;border:1px solid #e2ebf1;border-radius:12px;padding:12px}
.client-detail-item small{display:block;color:#718494;font-size:11px;margin-bottom:4px}
.client-detail-item strong{display:block;color:#0e2943;font-size:14px;line-height:1.4}
.client-detail-item.wide{grid-column:1/-1}
.appt-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.detail-term-btn,.return-term-btn,.reminder-term-btn{border:0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}
.detail-term-btn{background:#eaf1f7;color:#173f67}
.return-term-btn{background:#fff1f1;color:#a13d3d;border:1px solid #f1d2d2}
.reminder-term-btn{background:#eef8fc;color:#0e6e9e;border:1px solid #cce6f2}
@media(max-width:700px){.client-detail-grid{grid-template-columns:1fr}.client-detail-item.wide{grid-column:auto}}
</style>

<style id="summus-index9-final-brand-css">
.summus-brand-final{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:26px!important;
}
.summus-brand-logo{
  display:block;
  width:96px;
  height:auto;
  margin:0 auto 10px;
  object-fit:contain;
  background:#ffffff;
  border-radius:8px;
}
.summus-brand-name{
  font-size:20px;
  line-height:1.1;
  font-weight:800;
  color:#ffffff;
  letter-spacing:.2px;
}
</style>

<style id="summus-calendar-2-css">
/* Layout: requests remain handy while calendar is a wide compact work area */
#summus-manager-root .grid{
  grid-template-columns:minmax(300px,.72fr) minmax(720px,1.65fr);
  align-items:start;
}
#summus-manager-root .grid>section:first-child{
  position:sticky;
  top:14px;
  max-height:calc(100vh - 28px);
  overflow:auto;
  scrollbar-width:thin;
}
.summus-calendar-card{min-width:0}
.summus-calendar-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.summus-calendar-kicker{
  font-size:10px;
  font-weight:800;
  letter-spacing:1.3px;
  color:#168fbd;
  margin-bottom:4px;
}
.summus-calendar-title{font-size:17px;color:#0b2943}
.summus-week-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.summus-week-controls .btn{padding:8px 10px;font-size:11px}
.summus-week-label{
  font-size:13px;
  font-weight:800;
  color:#173f67;
  margin:8px 0 10px;
}
.summus-calendar-scroll{
  overflow-x:auto;
  overflow-y:visible;
  padding-bottom:5px;
  scrollbar-width:thin;
}
.summus-week-calendar{
  display:grid;
  grid-template-columns:repeat(5,minmax(132px,1fr));
  gap:9px;
  min-width:700px;
}
.summus-day-column{
  background:#f8fbfd;
  border:1px solid #dfeaf0;
  border-radius:14px;
  overflow:hidden;
}
.summus-day-head{
  position:sticky;
  top:0;
  z-index:2;
  padding:10px 11px;
  background:#0f4166;
  color:#fff;
  text-align:center;
}
.summus-day-name{
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  opacity:.82;
}
.summus-day-date{
  margin-top:3px;
  font-size:16px;
  font-weight:800;
}
.summus-day-body{padding:7px}
.summus-slot-cell{
  position:relative;
  min-height:70px;
  margin:6px 0;
  padding-top:18px;
}
.summus-slot-time{
  position:absolute;
  left:5px;
  top:1px;
  font-size:10px;
  font-weight:800;
  color:#658098;
}
.summus-slot-cell .free{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
  font-size:11px;
  line-height:1.25;
  border-radius:10px;
  cursor:grab;
}
.summus-slot-cell .free.summus-drop-zone{
  border:2px dashed #9ecfde;
  background:#f5fcfe;
}
.summus-slot-cell .free.summus-drop-zone:hover{
  background:#eaf8fc;
  border-color:#159ac2;
}
.summus-slot-cell .appt.summus-assigned{
  min-height:48px;
  padding:8px 9px;
  border-radius:10px;
  box-sizing:border-box;
  cursor:grab!important;
}
.summus-slot-cell .assigned-head b{font-size:12px;line-height:1.2}
.summus-slot-cell .move-hint{font-size:8px}
.summus-slot-cell .meta{font-size:9px;line-height:1.3;margin-top:3px}
.summus-slot-cell .appt-status{font-size:8px!important;margin-top:4px!important;padding:4px 6px!important}
.summus-slot-cell .appt-actions{display:flex;gap:3px!important;flex-wrap:wrap;margin-top:5px!important}
.summus-slot-cell .appt-actions button{
  font-size:8px!important;
  line-height:1!important;
  padding:5px 6px!important;
  border-radius:6px!important;
  margin-top:0!important;
}
.summus-slot-cell .send-term-btn{background:#173f67!important;color:#fff!important}
.summus-slot-cell.drag-slot-active{transform:scale(1.015)}
.summus-day-column.today .summus-day-head{background:#087b9d}
.summus-day-column.today{box-shadow:0 0 0 2px rgba(8,123,157,.13)}
.summus-request-detail-btn{
  margin-top:8px;
  border:1px solid #cfe0e8;
  background:#f4f9fb;
  color:#173f67;
  padding:6px 9px;
  border-radius:7px;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
#summus-live-target .summus-live-card{cursor:grab!important}
#summus-live-target .summus-live-card.dragging{opacity:.5!important}

/* Auto-scroll visual hints while dragging */
body.summus-drag-active:before,
body.summus-drag-active:after{
  content:"";
  position:fixed;
  left:0;
  right:0;
  height:54px;
  z-index:99990;
  pointer-events:none;
  opacity:.22;
}
body.summus-drag-active:before{top:0;background:linear-gradient(#159ac2,transparent)}
body.summus-drag-active:after{bottom:0;background:linear-gradient(transparent,#159ac2)}

@media(max-width:1200px){
  #summus-manager-root .grid{grid-template-columns:1fr}
  #summus-manager-root .grid>section:first-child{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }
}
</style>
<style id="summus-index12-css">
.summus-manager-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}
.summus-doctor-legend{display:flex;gap:6px;flex-wrap:wrap}.summus-doctor-legend .doc{font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px}
.doc.mlynarik{background:#e7f2ff;border:1px solid #6da9e8}.doc.stolba{background:#eaf8ec;border:1px solid #70bd79}.doc.vomacka{background:#fff1df;border:1px solid #e8a24e}
.summus-month-filters{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 12px}.summus-month-filter{border:1px solid #d4e2e9;background:#fff;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;cursor:pointer}.summus-month-filter.active{background:#0f4166;color:#fff;border-color:#0f4166}
.summus-doctor-modal{position:fixed;inset:0;background:rgba(8,31,48,.5);z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}.summus-doctor-modal.open{display:flex}.summus-doctor-box{background:#fff;border-radius:16px;padding:20px;width:min(560px,96vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}.summus-doctor-box h3{margin-top:0}.summus-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summus-form-grid label{font-size:10px;font-weight:800;color:#456}.summus-form-grid input,.summus-form-grid select{width:100%;padding:9px;border:1px solid #ccdce5;border-radius:8px;margin-top:4px}.summus-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
</style>
<style id="summus-index13-css">
/* INDEX 13 – compact medical calendar */
.summus-month-filters{gap:6px!important}
.summus-month-filter{
  color:#173f67!important;background:#fff!important;min-width:auto!important;
  height:auto!important;line-height:1!important;padding:7px 10px!important;
  border:1px solid #cddfe8!important
}
.summus-month-filter.active{background:#0f4166!important;color:#fff!important;border-color:#0f4166!important}
.summus-slot-cell{min-height:42px!important;margin:2px 0!important;padding-top:15px!important}
.summus-slot-time{font-size:9px!important;top:1px!important}
.summus-slot-cell .free{min-height:28px!important;padding:4px 5px!important;font-size:9px!important;border-radius:7px!important}
.summus-slot-cell .appt.summus-assigned{min-height:30px!important;padding:5px 6px!important;border-radius:7px!important}
.summus-day-body{padding:5px!important}
.summus-week-calendar{gap:6px!important}
.summus-day-head{padding:8px 6px!important}
.summus-day-date{font-size:14px!important}
.summus-doctor-shift-label{font-size:9px;font-weight:900;padding:5px 6px;margin:5px 0 2px;border-radius:7px}
.summus-doctor-shift-label.mlynarik{background:#e7f2ff;border-left:4px solid #378fe2}
.summus-doctor-shift-label.stolba{background:#eaf8ec;border-left:4px solid #55a962}
.summus-doctor-shift-label.vomacka{background:#fff1df;border-left:4px solid #e89532}
.summus-empty-day{padding:24px 8px;text-align:center;font-size:10px;color:#8195a6}
</style>
<style id="summus-index14-css">
.summus-drop-zone.summus-valid-drop{background:#e9f8ef!important;border-color:#53ad73!important}
.summus-drop-zone.summus-invalid-drop{opacity:.28!important}
.summus-slot-cell.summus-reserved-tail{opacity:.42;pointer-events:none}
.reschedule-term-btn{background:#f2edff;color:#6443a5;border:1px solid #dcd0f7}
.summus-duration-badge{font-size:8px;font-weight:900;background:#fff;border:1px solid #cfe0e8;padding:3px 5px;border-radius:999px}
.summus-reschedule-banner{display:none;background:#fff6db;border:1px solid #efd27a;border-radius:9px;padding:8px 10px;margin:7px 0;font-size:10px;font-weight:800}
.summus-reschedule-banner.show{display:flex;justify-content:space-between;align-items:center}
</style>
<style id="summus-index14-2-center-fix">
/* Center the whole SUMMUS Manager workspace */
#summus-manager-root{
  width:100% !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
#summus-manager-root .app,
#summus-manager-root .main,
#summus-manager-root .content{
  box-sizing:border-box !important;
}
@media (min-width: 1500px){
  #summus-manager-root{
    max-width:1440px !important;
  }
}
</style>

<style id="summus-index15-css">
#summus-manager-root .grid{
  grid-template-columns:minmax(300px,.82fr) minmax(560px,1.55fr)!important;
  align-items:start;
}
#summus-manager-root .grid>section:first-child{
  position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;
}
.summus-calendar-card{min-width:0}
.summus-planner-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.summus-week-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.summus-week-nav .summus-week-label{margin:0 0 0 auto;font-size:12px;font-weight:800;color:#173f67}
.summus-day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.summus-day-tab{border:1px solid #d7e5ed;background:#fff;border-radius:10px;padding:9px 6px;cursor:pointer;text-align:center;color:#36556d}
.summus-day-tab strong{display:block;font-size:11px;text-transform:uppercase}
.summus-day-tab span{display:block;font-size:15px;font-weight:800;margin-top:2px}
.summus-day-tab.active{background:#0f4166;color:#fff;border-color:#0f4166}
.summus-day-tab.today:not(.active){border-color:#159ac2;box-shadow:0 0 0 2px rgba(21,154,194,.08)}
.summus-day-planner{display:grid;gap:12px}
.summus-no-shifts{padding:34px 16px;text-align:center;border:1px dashed #cadbe4;border-radius:12px;color:#718494;background:#f9fcfd}
.summus-doctor-panel{border:1px solid #dce8ef;border-radius:14px;overflow:hidden;background:#fff}
.summus-doctor-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px}
.summus-doctor-panel-head.mlynarik{background:#e7f2ff;border-left:5px solid #378fe2}
.summus-doctor-panel-head.stolba{background:#eaf8ec;border-left:5px solid #55a962}
.summus-doctor-panel-head.vomacka{background:#fff1df;border-left:5px solid #e89532}
.summus-doctor-panel-head b{font-size:13px}
.summus-doctor-panel-head span{font-size:10px;color:#61778a;font-weight:700}
.summus-doctor-slots{display:grid;gap:4px;padding:8px}
.summus-day-slot{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:stretch}
.summus-day-time{font-size:11px;font-weight:800;color:#5d768b;padding:9px 4px}
.summus-day-slot .free{min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:6px 8px!important;font-size:10px!important;border-radius:8px!important}
.summus-day-slot .appt.summus-assigned{min-height:36px!important;padding:7px 9px!important;border-radius:8px!important}
.summus-day-slot .assigned-head b{font-size:12px!important}
.summus-day-slot .meta{font-size:9px!important;margin-top:2px!important}
.summus-day-slot .appt-actions{display:flex!important;gap:4px!important;flex-wrap:wrap!important;margin-top:5px!important}
.summus-day-slot .appt-actions button{font-size:8px!important;padding:5px 6px!important;border-radius:6px!important;margin:0!important}
.summus-duration-badge{font-size:8px!important}
.summus-day-slot.reserved-tail{opacity:.4;pointer-events:none}
.summus-day-slot.reserved-tail .free{background:#eef2f5!important;border-style:solid!important;color:#7d8b96!important}
.summus-request-detail-btn{margin-top:7px}
.summus-reschedule-banner{display:none;background:#fff6db;border:1px solid #efd27a;border-radius:9px;padding:8px 10px;margin:7px 0 12px;font-size:10px;font-weight:800}
.summus-reschedule-banner.show{display:flex;justify-content:space-between;align-items:center}
@media(max-width:1050px){
  #summus-manager-root .grid{grid-template-columns:1fr!important}
  #summus-manager-root .grid>section:first-child{position:relative;top:auto;max-height:none;overflow:visible}
}
</style>

<style id="summus-index15-1-layout-fix">
/* 1) Pull KPI cards upward and reduce empty grey area */
#summus-manager-root .stats{
  margin-top:10px !important;
  position:relative !important;
  top:auto !important;
  transform:none !important;
}
#summus-manager-root .top{
  margin-bottom:8px !important;
}
#summus-manager-root .main{
  padding-top:22px !important;
}

/* Reduce the large grey spacer/hero area behind the KPI cards */
#summus-manager-root .hero,
#summus-manager-root .overview-hero,
#summus-manager-root .stats-wrap{
  min-height:0 !important;
  height:auto !important;
}
#summus-manager-root .stats{
  padding-top:0 !important;
  padding-bottom:18px !important;
}

/* If the grey background is coming from the stats container, keep it compact */
#summus-manager-root .main > .stats{
  background:transparent !important;
}

/* 2) Extend the light-blue main background all the way to the right edge */
html, body{
  background:#eef4f8 !important;
}
#summus-manager-root{
  max-width:none !important;
  width:100% !important;
  margin:0 auto !important;
  background:#eef4f8 !important;
}
#summus-manager-root .app{
  width:min(1440px,100%) !important;
  margin:0 auto !important;
  background:#eef4f8 !important;
}
#summus-manager-root .main{
  background:#eef4f8 !important;
  width:100% !important;
  min-width:0 !important;
}

/* keep sidebar fixed visually while content background reaches page edge */
#summus-manager-root .side{
  align-self:stretch !important;
}

/* Calendar area gets more vertical room */
#summus-manager-root .grid{
  margin-top:10px !important;
}
</style>

<style id="summus-index15-2-align-doctors">
/* INDEX 15.2 – zarovnání horních KPI karet */
#summus-manager-root .stats{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  align-items:stretch !important;
}
#summus-manager-root .stats > *{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  height:132px !important;
  min-height:132px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

/* Lékaři budou vždy vidět přímo v plánovači */
.summus-doctor-legend{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:2px 0 12px;
}
.summus-doctor-chip{
  border-radius:999px;
  padding:6px 9px;
  font-size:9px;
  font-weight:900;
  border:1px solid;
  white-space:nowrap;
}
.summus-doctor-chip.mlynarik{background:#e7f2ff;border-color:#73adf2;color:#174f86}
.summus-doctor-chip.stolba{background:#eaf8ec;border-color:#79bf83;color:#286a35}
.summus-doctor-chip.vomacka{background:#fff1df;border-color:#f0a44c;color:#95530b}

@media(max-width:900px){
 #summus-manager-root .stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 #summus-manager-root .stats > *{height:110px !important;min-height:110px !important}
}
</style>

<style id="summus-index15-3-kpi-width">
/* INDEX 15.3 – KPI řada přes celou šířku hlavního obsahu */
#summus-manager-root .top{
  width:100% !important;
}
#summus-manager-root .stats{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
#summus-manager-root .stats > *{
  width:100% !important;
  max-width:none !important;
}
</style>

<style id="summus-index15-4-real-kpi-stretch">
/* INDEX 15.4 – skutečné roztažení horní řady až k pravému okraji plánovače */
#summus-manager-root .main{
  padding-right:28px !important;
}
#summus-manager-root .top{
  width:100% !important;
  max-width:none !important;
}
#summus-manager-root .stats{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  width:100% !important;
  max-width:none !important;
  gap:14px !important;
  box-sizing:border-box !important;
}

/* původní karty měly pevnou šířku – tu rušíme */
#summus-manager-root .stat,
#summus-manager-root .stats .card,
#summus-manager-root .stats > div{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  flex:unset !important;
  box-sizing:border-box !important;
}

/* pravý okraj horních KPI = pravý okraj spodního pracovního obsahu */
#summus-manager-root .stats{
  margin-right:0 !important;
  padding-right:0 !important;
}

/* tlačítka v hlavičce zůstanou zarovnaná doprava */
#summus-manager-root .top-actions{
  margin-left:auto !important;
}
</style>

<style id="summus-index15-5-kpi-span-main">
/*
INDEX 15.5
Horní KPI řada se roztáhne přes STEJNOU šířku jako spodní pracovní oblast:
od levého okraje "Žádosti k vyřízení" až k pravému okraji plánovače.
*/
#summus-manager-root .main{
  overflow:visible !important;
}

/* Header + KPI use the full content width, not the old narrower inner width */
#summus-manager-root .top,
#summus-manager-root .stats{
  width:calc(100% + 130px) !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Five equal cards across that full width */
#summus-manager-root .stats{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
#summus-manager-root .stats > *{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Keep the last KPI flush with the right edge */
#summus-manager-root .stats > *:last-child{
  justify-self:stretch !important;
}

/* Do not change the lower planner width */
#summus-manager-root .grid{
  width:100% !important;
}
</style>

<style id="summus-index15-8-monthfix-css">.summus-month-filter-label{font-size:9px;font-weight:900;letter-spacing:.7px;color:#7990a1;margin:2px 0 6px}</style><style id="summus-index15-6-kpi-balanced">
/* INDEX 15.6 – jemnější roztažení horních KPI */
#summus-manager-root .top,
#summus-manager-root .stats{
  width:calc(100% + 55px) !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
#summus-manager-root .stats{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
}
#summus-manager-root .stats > *{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
}
</style>

<style id="summus-index15-10-month-folders">
#summus-month-filters{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
}
#summus-month-filters .summus-month-filter{
  width:100%!important;
  padding:6px 5px!important;
  font-size:8px!important;
  text-align:center!important;
}
@media(max-width:900px){
  #summus-month-filters{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
</style>

<style id="summus-index16-css">
#summus-manager-root .grid{
  grid-template-columns:minmax(310px,.72fr) minmax(610px,1.58fr)!important;
  align-items:start!important;
}
.summus-index16{min-width:0!important}
.summus16-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.summus16-head .summus-calendar-title{font-size:18px}
.summus16-assign-banner{
  display:none;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 12px;margin:8px 0 12px;border:1px solid #8bc9dd;background:#eefaff;border-radius:10px
}
.summus16-assign-banner.show{display:flex}
.summus16-assign-banner small{display:block;font-size:8px;font-weight:900;letter-spacing:1px;color:#168fbd}
.summus16-assign-banner strong{display:block;font-size:13px;color:#0b2943}
.summus16-assign-banner span{font-size:10px;color:#688094}
.summus16-assign-banner button{border:1px solid #c8dce6;background:#fff;color:#173f67;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}

.summus16-month-toolbar{display:flex;align-items:center;gap:8px;margin:8px 0}
.summus16-month-title{font-size:14px;font-weight:900;color:#173f67;min-width:140px;text-align:center}
.summus16-nav,.summus16-today{border:1px solid #d4e2ea;background:#fff;color:#173f67;border-radius:8px;height:34px;padding:0 10px;font-weight:800;cursor:pointer}
.summus16-today{margin-left:auto;font-size:9px}

.summus16-calendar{border:1px solid #dce8ef;border-radius:12px;padding:9px;background:#fbfdfe;margin-bottom:14px}
.summus16-weekdays,.summus16-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.summus16-weekdays span{text-align:center;font-size:8px;font-weight:900;color:#7b8f9e;padding:4px}
.summus16-day{
  position:relative;min-height:48px;border:1px solid transparent;background:#fff;border-radius:8px;
  padding:5px;cursor:pointer;text-align:left;color:#345269
}
.summus16-day:hover{border-color:#9acddd}
.summus16-day.outside{opacity:.28}
.summus16-day.weekend{background:#f6f8fa;color:#9aa7b0}
.summus16-day.selected{background:#0f4166;color:#fff;border-color:#0f4166}
.summus16-day.today:not(.selected){box-shadow:inset 0 0 0 2px #159ac2}
.summus16-day-number{font-size:11px;font-weight:900}
.summus16-day-bottom{position:absolute;left:5px;right:5px;bottom:5px;display:flex;align-items:center;justify-content:space-between}
.summus16-dots{display:flex;gap:2px}
.summus16-dot{width:5px;height:5px;border-radius:50%}
.summus16-dot.mlynarik{background:#378fe2}.summus16-dot.stolba{background:#55a962}.summus16-dot.vomacka{background:#e89532}
.summus16-count{font-size:8px;font-weight:900;background:#e9f4f8;color:#0c7596;border-radius:999px;padding:2px 5px}
.summus16-day.selected .summus16-count{background:#fff;color:#0f4166}

.summus16-day-head{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e7eef3;padding-top:12px;margin-top:6px}
.summus16-day-head small{font-size:8px;font-weight:900;letter-spacing:1px;color:#168fbd}
.summus16-day-head h3{font-size:16px;margin:2px 0 0;color:#0b2943}
.summus16-day-head .summus-doctor-legend{margin:0}

.summus16-agenda{display:grid;gap:10px;margin-top:10px}
.summus16-empty{border:1px dashed #cbdde6;border-radius:10px;background:#fafcfd;padding:26px;text-align:center;color:#748999;font-size:11px}
.summus16-doctor{border:1px solid #dce8ef;border-radius:12px;overflow:hidden;background:#fff}
.summus16-doctor-head{display:flex;justify-content:space-between;align-items:center;padding:9px 11px}
.summus16-doctor-head.mlynarik{background:#e7f2ff;border-left:5px solid #378fe2}
.summus16-doctor-head.stolba{background:#eaf8ec;border-left:5px solid #55a962}
.summus16-doctor-head.vomacka{background:#fff1df;border-left:5px solid #e89532}
.summus16-doctor-head b{font-size:12px}.summus16-doctor-head span{font-size:9px;color:#687f91;font-weight:800}
.summus16-rows{padding:4px 8px 8px}
.summus16-row{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:stretch;border-bottom:1px solid #edf2f5;padding:4px 0}
.summus16-row:last-child{border-bottom:0}
.summus16-time{display:flex;align-items:center;font-size:11px;font-weight:900;color:#587188;padding:6px 3px}
.summus16-free{
  border:1px dashed #9bcfde;background:#f8fdfe;color:#277e9a;border-radius:7px;
  padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer;text-align:left
}
.summus16-free:hover{background:#eaf8fc;border-color:#159ac2}
.summus16-free.assign-ready{background:#eaf8ef;border-color:#62b27b;color:#286a3d}
.summus16-free.assign-no{opacity:.3;cursor:not-allowed}
.summus16-appt{
  border-left:4px solid #159ac2;background:#eff9fc;border-radius:7px;padding:7px 9px
}
.summus16-appt-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.summus16-appt-top b{font-size:11px;color:#0b2943}
.summus16-appt-meta{font-size:9px;color:#688094;margin-top:2px}
.summus16-appt-status{display:inline-block;font-size:8px;font-weight:900;border-radius:999px;padding:3px 5px;margin-top:4px;background:#fff4d8;color:#a36c00}
.summus16-appt-status.paid{background:#eaf8f1;color:#16845a}
.summus16-appt-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.summus16-appt-actions button{border:0;border-radius:5px;padding:4px 6px;font-size:7px;font-weight:800;cursor:pointer}
.summus16-appt-actions .send-term-btn{background:#173f67;color:#fff}
.summus16-appt-actions .detail-term-btn{background:#eaf1f7;color:#173f67}
.summus16-appt-actions .reschedule-term-btn{background:#f2edff;color:#6443a5;border:1px solid #dcd0f7}
.summus16-appt-actions .reminder-term-btn{background:#eef8fc;color:#0e6e9e;border:1px solid #cce6f2}
.summus16-appt-actions .return-term-btn{background:#fff1f1;color:#a13d3d;border:1px solid #f1d2d2}

.summus-request-assign-btn{
  margin-top:7px;margin-right:5px;border:0;border-radius:7px;padding:7px 9px;background:#159bc5;color:#fff;
  font-size:9px;font-weight:900;cursor:pointer
}
.summus-request-assign-btn.active{background:#16845a}

@media(max-width:1050px){
  #summus-manager-root .grid{grid-template-columns:1fr!important}
  #summus-manager-root .grid>section:first-child{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}
}
</style>

<style id="summus-index17-calendar-css">
/* INDEX 17 – samostatná stránka kalendáře */
#summus-manager-root .top,
#summus-manager-root .stats,
#summus-manager-root .grid > section:first-child,
#summus-manager-root .bottom,
#summus-manager-root .comm-panel{
  display:none !important;
}
#summus-manager-root .main{
  padding:22px 26px !important;
}
#summus-manager-root .grid{
  display:block !important;
  margin-top:0 !important;
  width:100% !important;
}
#summus-manager-root .summus-calendar-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  padding:22px !important;
}
.summus17-calendar-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.summus17-calendar-top h1{
  margin:0;
  font-size:24px;
  color:#0b2943;
}
.summus17-calendar-top p{
  margin:4px 0 0;
  font-size:12px;
  color:#718494;
}
.summus17-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  border:1px solid #d3e1e9;
  background:#fff;
  color:#173f67;
  border-radius:9px;
  padding:9px 12px;
  font-size:11px;
  font-weight:800;
}
.summus-index16{
  max-width:none !important;
}
.summus16-calendar{
  max-width:980px;
}
.summus16-day{
  min-height:58px !important;
}
.summus16-agenda{
  max-width:1100px;
}
.summus16-row{
  grid-template-columns:120px 1fr !important;
}
.summus16-time{
  font-size:12px !important;
}
</style>

<style id="summus-index18-layout">
/* INDEX 18 – kompaktní měsíc + klienti vlevo + denní plán vpravo */

/* Na kalendářové stránce znovu zobrazit Žádosti k vyřízení */
#summus-manager-root .grid > section:first-child{
  display:block !important;
}

/* Hlavní pracovní plocha */
#summus-manager-root .grid{
  display:grid !important;
  grid-template-columns:310px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  width:100% !important;
}

/* Levý panel klientů */
#summus-manager-root .grid > section:first-child{
  position:sticky;
  top:12px;
  max-height:calc(100vh - 30px);
  overflow:auto;
  padding:16px !important;
}
#summus-manager-root .grid > section:first-child .head{
  margin-bottom:8px !important;
}
#summus-manager-root .grid > section:first-child .meta{
  font-size:10px !important;
  line-height:1.35 !important;
}
#summus-manager-root .grid > section:first-child .drag-help{
  display:none !important;
}
#summus-manager-root .summus-month-filter-label{
  margin-top:8px !important;
}
#summus-manager-root .summus-month-filters{
  gap:5px !important;
  margin-bottom:10px !important;
}
#summus-manager-root .summus-month-filter{
  padding:5px 8px !important;
  font-size:8px !important;
}

/* Pravý kalendář */
#summus-manager-root .summus-calendar-card{
  padding:16px 18px 18px !important;
}
#summus-manager-root .summus16-head{
  margin-bottom:8px !important;
}
#summus-manager-root .summus-calendar-title{
  font-size:18px !important;
}
#summus-manager-root .summus16-month-toolbar{
  margin:8px 0 !important;
}

/* Měsíční kalendář přibližně poloviční proti INDEX17 */
#summus-manager-root .summus16-calendar{
  padding:6px 8px !important;
  margin-bottom:9px !important;
}
#summus-manager-root .summus16-weekdays{
  margin-bottom:2px !important;
}
#summus-manager-root .summus16-weekdays span{
  font-size:7px !important;
  padding:2px 0 !important;
}
#summus-manager-root .summus16-month-grid{
  gap:3px !important;
}
#summus-manager-root .summus16-day{
  min-height:34px !important;
  height:34px !important;
  padding:4px 6px !important;
  border-radius:7px !important;
  font-size:9px !important;
}
#summus-manager-root .summus16-day .summus16-day-num{
  font-size:9px !important;
}

/* Denní plán dostává hlavní prostor */
#summus-manager-root .summus16-day-head{
  margin-top:8px !important;
  padding-top:8px !important;
}
#summus-manager-root .summus16-day-head h3{
  margin:2px 0 0 !important;
  font-size:16px !important;
}
#summus-manager-root .summus16-agenda{
  margin-top:7px !important;
  gap:7px !important;
}
#summus-manager-root .summus16-row{
  grid-template-columns:105px minmax(0,1fr) !important;
}
#summus-manager-root .summus16-time{
  font-size:11px !important;
}

/* Menší horní titul stránky */
.summus17-calendar-top{
  margin-bottom:10px !important;
}
.summus17-calendar-top h1{
  font-size:21px !important;
}
.summus17-calendar-top p{
  font-size:10px !important;
}

/* Notebook / menší obrazovka */
@media(max-width:1100px){
  #summus-manager-root .grid{
    grid-template-columns:270px minmax(0,1fr) !important;
    gap:10px !important;
  }
}
@media(max-width:850px){
  #summus-manager-root .grid{
    grid-template-columns:1fr !important;
  }
  #summus-manager-root .grid > section:first-child{
    position:relative;
    top:auto;
    max-height:360px;
  }
}
</style>


<style id="summus-index18-1-refine">
/* INDEX 18.1 – vizuální doladění, funkce INDEX 18 zůstávají */

/* O něco kompaktnější měsíční kalendář */
#summus-manager-root .summus16-calendar{
  padding:5px 7px !important;
}
#summus-manager-root .summus16-month-grid{
  gap:2px !important;
}
#summus-manager-root .summus16-day{
  min-height:30px !important;
  height:30px !important;
  padding:3px 5px !important;
  border-radius:6px !important;
  position:relative !important;
  overflow:hidden !important;
}

/* Větší a čitelnější datum */
#summus-manager-root .summus16-day,
#summus-manager-root .summus16-day .summus16-day-num{
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

/* Barevné indikátory lékařů už nejsou tečky – jsou to proužky/políčka */
#summus-manager-root .summus16-day .summus16-dots{
  position:absolute !important;
  left:4px !important;
  right:4px !important;
  bottom:3px !important;
  display:flex !important;
  gap:2px !important;
  height:4px !important;
  align-items:stretch !important;
}
#summus-manager-root .summus16-day .summus16-dot{
  width:auto !important;
  height:4px !important;
  min-width:0 !important;
  flex:1 1 0 !important;
  border-radius:2px !important;
  margin:0 !important;
  box-shadow:none !important;
}

/* Kdyby původní renderer vkládal tečky přímo bez wrapperu */
#summus-manager-root .summus16-day > .summus16-dot{
  position:relative !important;
  display:inline-block !important;
  width:18px !important;
  height:4px !important;
  border-radius:2px !important;
  margin:7px 2px 0 0 !important;
  vertical-align:bottom !important;
}

/* Vybraný den zůstane výrazný, barevné proužky jsou stále vidět */
#summus-manager-root .summus16-day.is-selected,
#summus-manager-root .summus16-day.active{
  box-shadow:inset 0 0 0 2px #0e4d76 !important;
}

/* Legenda lékařů – kompaktní */
#summus-manager-root .summus16-doctor-legend{
  margin-top:6px !important;
  gap:6px !important;
}
#summus-manager-root .summus16-doctor-legend button,
#summus-manager-root .summus16-doctor-legend span{
  font-size:9px !important;
}

/* Denní plán výš, méně zbytečných mezer */
#summus-manager-root .summus16-day-head{
  margin-top:5px !important;
  padding-top:7px !important;
}
</style>


<style id="summus-index18-2-refine">
/* INDEX 18.2 – barevné dny podle lékařů + přehlednější denní plán */

/* Kalendář ještě kompaktnější, datum čitelnější */
#summus-manager-root .summus16-calendar{
  max-width:none !important;
  padding:5px 7px !important;
}
#summus-manager-root .summus16-month-grid{
  gap:3px !important;
}
#summus-manager-root .summus16-day{
  min-height:34px !important;
  height:34px !important;
  padding:4px 5px !important;
  border:1px solid #eef3f6 !important;
  border-radius:7px !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
}
#summus-manager-root .summus16-day-number{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
  color:#173f67 !important;
}

/* Celé políčko jemně zbarvené podle ordinujícího lékaře */
#summus-manager-root .summus16-day.doc-mlynarik{
  background:#edf5ff !important;
  border-color:#b9d7f7 !important;
}
#summus-manager-root .summus16-day.doc-stolba{
  background:#eef9f0 !important;
  border-color:#bfe3c5 !important;
}
#summus-manager-root .summus16-day.doc-vomacka{
  background:#fff5e9 !important;
  border-color:#f2d0a8 !important;
}
#summus-manager-root .summus16-day.doc-mlynarik-stolba{
  background:linear-gradient(90deg,#edf5ff 0 50%,#eef9f0 50% 100%) !important;
  border-color:#b8daca !important;
}
#summus-manager-root .summus16-day.doc-mlynarik-vomacka{
  background:linear-gradient(90deg,#edf5ff 0 50%,#fff5e9 50% 100%) !important;
  border-color:#d9d2bd !important;
}
#summus-manager-root .summus16-day.doc-stolba-vomacka{
  background:linear-gradient(90deg,#eef9f0 0 50%,#fff5e9 50% 100%) !important;
  border-color:#d7dab7 !important;
}
#summus-manager-root .summus16-day.doc-all{
  background:linear-gradient(90deg,#edf5ff 0 33.33%,#eef9f0 33.33% 66.66%,#fff5e9 66.66% 100%) !important;
  border-color:#d3dce0 !important;
}

/* Barevný spodní indikátor – už ne tečka */
#summus-manager-root .summus16-day .summus16-dots{
  position:absolute !important;
  left:5px !important;
  right:5px !important;
  bottom:3px !important;
  height:4px !important;
  display:flex !important;
  gap:2px !important;
  z-index:4 !important;
}
#summus-manager-root .summus16-day .summus16-dot{
  flex:1 1 0 !important;
  width:auto !important;
  height:4px !important;
  border-radius:2px !important;
  margin:0 !important;
}
#summus-manager-root .summus16-day.selected{
  background:#124c75 !important;
  border-color:#124c75 !important;
  box-shadow:none !important;
}
#summus-manager-root .summus16-day.selected .summus16-day-number{
  color:#fff !important;
}
#summus-manager-root .summus16-day.outside{
  opacity:.42 !important;
}
#summus-manager-root .summus16-day.weekend:not(.selected){
  filter:saturate(.55);
}

/* Denní plán: pokud ordinují 2–3 lékaři, zobrazit je vedle sebe */
#summus-manager-root .summus16-agenda{
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  gap:10px !important;
  align-items:start !important;
}
#summus-manager-root .summus16-doctor{
  min-width:0 !important;
}
#summus-manager-root .summus16-row{
  grid-template-columns:95px minmax(0,1fr) !important;
  gap:7px !important;
}
#summus-manager-root .summus16-time{
  font-size:10px !important;
  white-space:nowrap !important;
}

/* Kompaktnější žádosti vlevo */
#summus-manager-root #summus-live-target .summus-live-card{
  margin:7px 0 !important;
}
#summus-manager-root .summus-request-assign-btn,
#summus-manager-root .summus-request-detail-btn{
  font-size:8px !important;
  padding:6px 7px !important;
}

@media(max-width:1200px){
  #summus-manager-root .summus16-agenda{
    grid-template-columns:1fr !important;
  }
}
</style>


<style id="summus-index23-clean-rebuild">
html,body{margin:0!important;background:#eef4f8!important}
#summus-manager-root.summus23{
  position:relative!important;left:50%!important;width:100vw!important;max-width:none!important;
  margin-left:-50vw!important;background:#eef4f8!important;color:#0b2943!important;
  font-family:Arial,Helvetica,sans-serif!important;box-sizing:border-box!important
}
.summus23 *{box-sizing:border-box}
.summus23-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh;width:100%}
.summus23-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#073659;color:#fff;display:flex;flex-direction:column}
.summus23-brand{text-align:center;margin-bottom:20px}
.summus23-brand img{width:102px;height:102px;object-fit:cover;background:#fff}
.summus23-brand strong{display:block;font-size:22px;margin-top:9px}
.summus23-brand span{display:block;font-size:9px;letter-spacing:2.5px;color:#a9c0d1;margin-top:5px}
.summus23-nav{display:grid;gap:3px}
.summus23-nav a{min-height:42px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;padding:0 11px;border-radius:9px;color:#fff!important;text-decoration:none!important;font-size:12px}
.summus23-nav a.active{background:#176391}
.summus23-nav a b{font-size:11px}
.summus23-foot{margin-top:auto;text-align:center;color:#a9c0d1;font-size:9px;line-height:1.5}
.summus23-main{min-width:0;padding:18px 22px 24px}
.summus23-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.summus23-top h1{margin:0;font-size:28px;line-height:1.05}
.summus23-top p{margin:5px 0 0;color:#6d8293;font-size:10px}
.summus23-back{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid #d8e4eb;border-radius:9px;background:#fff;color:#173f67!important;text-decoration:none!important;font-size:9px;font-weight:900}
.summus23-workspace{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;align-items:start}
.summus23-requests,.summus23-calendar{background:#fff;border:1px solid #e2ebf0;border-radius:13px;box-shadow:0 3px 14px rgba(13,54,82,.035)}
.summus23-requests{padding:17px;position:sticky;top:10px;max-height:calc(100vh - 28px);overflow:auto}
.summus23-request-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.summus23-request-head h2{margin:0;font-size:20px}
.summus23-request-head p{margin:6px 0 0;font-size:10px;line-height:1.45;color:#718494;max-width:250px}
.summus23-count{min-width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:#eaf7fb;color:#087b9d;font-size:9px;font-weight:900;padding:7px}
.summus-month-filter-label{text-align:center;margin:12px 0 7px!important;font-size:9px!important;font-weight:900!important;color:#72899a!important;letter-spacing:.8px!important}
#summus-month-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0 0 12px!important}
#summus-month-filters .summus-month-filter{min-height:29px!important;padding:0 6px!important;border-radius:999px!important;border:1px solid #d4e2ea!important;background:#fff!important;color:#173f67!important;font-size:8px!important;font-weight:900!important}
#summus-month-filters .summus-month-filter.active{background:#0f4166!important;color:#fff!important;border-color:#0f4166!important}
#summus-live-target .summus-live-card{position:relative!important;margin:7px 0!important;padding:10px 10px 10px 14px!important;border:1px solid #e2ebf0!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
#summus-live-target .summus-live-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#159bc5}
#summus-live-target .summus-live-name{font-size:12px!important;font-weight:900!important}
#summus-live-target .summus-live-exam{font-size:9px!important}
.summus23-calendar{padding:16px}
.summus23-calendar-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:5px}
.summus23-calendar-head h2{margin:2px 0 0;font-size:20px}
.summus23-calendar-head p{margin:5px 0 0;color:#718494;font-size:9px}
.summus23-calendar-head .summus-calendar-kicker{font-size:9px!important;letter-spacing:1.2px!important}
#summus-doctor-settings{min-height:40px!important;padding:0 15px!important;border-radius:9px!important;font-size:9px!important}
.summus23-monthbar{display:grid;grid-template-columns:38px minmax(150px,1fr) 38px minmax(20px,.75fr) auto;align-items:center;gap:7px;margin:8px 0}
.summus23-monthbar .summus16-nav,.summus23-monthbar .summus16-today{min-height:33px!important;border:1px solid #d7e4eb!important;background:#fff!important;color:#173f67!important;border-radius:8px!important;font-weight:900!important}
#summus16-month-title{text-align:center!important;font-size:17px!important;font-weight:900!important}
#summus16-today{justify-self:end!important;font-size:8px!important}
.summus16-calendar{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;border:1px solid #dfe8ee!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important}
.summus16-weekdays{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:0!important;background:#f8fafc!important;border-bottom:1px solid #e5edf2!important}
.summus16-weekdays span{padding:6px 0!important;text-align:center!important;font-size:7px!important;font-weight:900!important}
.summus16-month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important}
.summus16-day{width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:7px 8px!important;border:0!important;border-right:1px solid #edf2f5!important;border-bottom:1px solid #edf2f5!important;border-radius:0!important;text-align:left!important;background:#fff!important;position:relative!important}
.summus16-day-number{display:block!important;font-size:12px!important;font-weight:900!important;line-height:1!important;text-align:left!important;color:#173f67!important}
.summus16-day.selected{width:calc(100% - 6px)!important;height:36px!important;min-height:36px!important;margin:3px!important;border-radius:6px!important;background:#0e4c77!important}
.summus16-day.selected .summus16-day-number{color:#fff!important}
.summus16-day.doc-mlynarik{background:#eaf3ff!important}.summus16-day.doc-stolba{background:#edf8ef!important}.summus16-day.doc-vomacka{background:#fff2e3!important}
.summus16-day.doc-mlynarik-stolba{background:linear-gradient(90deg,#eaf3ff 0 50%,#edf8ef 50% 100%)!important}
.summus16-day.doc-mlynarik-vomacka{background:linear-gradient(90deg,#eaf3ff 0 50%,#fff2e3 50% 100%)!important}
.summus16-day.doc-stolba-vomacka{background:linear-gradient(90deg,#edf8ef 0 50%,#fff2e3 50% 100%)!important}
.summus16-day.doc-all{background:linear-gradient(90deg,#eaf3ff 0 33.33%,#edf8ef 33.33% 66.66%,#fff2e3 66.66% 100%)!important}
.summus16-day .summus16-dots{position:absolute!important;left:8px!important;right:auto!important;bottom:5px!important;width:36px!important;height:4px!important;display:flex!important;gap:2px!important}
.summus16-day .summus16-dot{height:4px!important;flex:1 1 0!important;border-radius:2px!important}
.summus23-legend{display:flex;gap:14px;align-items:center;padding:7px 3px 4px;font-size:9px;color:#647b8d}
.summus23-legend span{display:flex;align-items:center;gap:5px}.summus23-legend i{width:10px;height:10px;border-radius:2px}.summus23-legend i.mlynarik{background:#378fe2}.summus23-legend i.stolba{background:#55a962}.summus23-legend i.vomacka{background:#e89532}
.summus16-day-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-top:4px!important;padding-top:7px!important;border-top:1px solid #e8eef2!important}
.summus16-day-head small{font-size:7px!important}.summus16-day-head h3{margin:1px 0 0!important;font-size:16px!important}
.summus-doctor-chip{min-height:27px!important;display:inline-flex!important;align-items:center!important;padding:0 9px!important;font-size:8px!important}
.summus16-agenda{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:8px!important;margin-top:6px!important;width:100%!important;max-width:none!important}
.summus16-doctor{min-width:0!important;border-radius:8px!important;overflow:hidden!important}
.summus16-doctor-head{padding:6px 8px!important}.summus16-doctor-head b{font-size:10px!important}.summus16-doctor-head span{font-size:7px!important}
.summus16-rows{padding:3px 6px 6px!important}.summus16-row{grid-template-columns:96px minmax(0,1fr)!important;gap:6px!important;padding:2px 0!important}
.summus16-time{font-size:9px!important;white-space:nowrap!important;padding:4px 1px!important}.summus16-free{min-height:25px!important;padding:4px 7px!important;border-radius:5px!important;font-size:8px!important}
.summus16-appt{padding:4px 6px!important;border-radius:5px!important}
@media(min-width:1500px){.summus23-shell{grid-template-columns:245px minmax(0,1fr)}.summus23-workspace{grid-template-columns:410px minmax(0,1fr)}}
@media(max-width:1180px){.summus23-shell{grid-template-columns:205px minmax(0,1fr)}.summus23-workspace{grid-template-columns:310px minmax(0,1fr)}.summus16-agenda{grid-template-columns:1fr!important}}
</style>


<style id="summus-index24-layout">
/* INDEX 38 – podle anotace: denní přehled vlevo, měsíc vpravo */

/* Nadpis níž, aby nezasahoval do horní WP lišty */
.summus23-main{
  padding-top:30px !important;
}
.summus23-top{
  margin-bottom:12px !important;
}
.summus23-top h1{
  font-size:27px !important;
  line-height:1.05 !important;
}

/* Žádosti + velká pracovní plocha */
.summus23-workspace{
  grid-template-columns:380px minmax(0,1fr) !important;
  gap:14px !important;
}

/* Pravá karta */
.summus24-calendar{
  padding:14px !important;
  min-width:0 !important;
}

/* V pravé kartě DVA sloupce vedle sebe */
.summus24-split{
  display:grid !important;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.25fr) !important;
  gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
}

/* Denní přehled vlevo */
.summus24-daily{
  min-width:0 !important;
  border-right:1px solid #e6edf2 !important;
  padding-right:14px !important;
}
.summus24-daily-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:8px !important;
  padding-bottom:8px !important;
  margin-bottom:8px !important;
  border-bottom:1px solid #e8eef2 !important;
}
.summus24-daily-head h2{
  margin:2px 0 0 !important;
  font-size:18px !important;
  line-height:1.05 !important;
}
.summus24-daily-head .summus-doctor-legend{
  display:flex !important;
  gap:5px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}
.summus24-daily .summus16-agenda{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  margin-top:5px !important;
}
.summus24-daily .summus16-doctor{
  width:100% !important;
}
.summus24-daily .summus16-row{
  grid-template-columns:92px minmax(0,1fr) !important;
}
.summus24-daily .summus16-time{
  font-size:8px !important;
}
.summus24-daily .summus16-free{
  min-height:24px !important;
  font-size:7px !important;
}

/* Měsíční kalendář vpravo */
.summus24-month{
  min-width:0 !important;
}
.summus24-month-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:start !important;
  margin-bottom:6px !important;
}
.summus24-month-head h2{
  margin:2px 0 0 !important;
  font-size:18px !important;
}
.summus24-month-head p{
  margin:4px 0 0 !important;
  font-size:8px !important;
  color:#718494 !important;
}
.summus24-month #summus-doctor-settings{
  min-height:36px !important;
  padding:0 12px !important;
  font-size:8px !important;
}
.summus24-month .summus23-monthbar{
  grid-template-columns:34px minmax(120px,1fr) 34px minmax(15px,.5fr) auto !important;
  gap:6px !important;
  margin:5px 0 6px !important;
}
.summus24-month #summus16-month-title{
  font-size:16px !important;
}
.summus24-month .summus16-calendar{
  margin-bottom:5px !important;
}
.summus24-month .summus16-weekdays span{
  padding:5px 0 !important;
}
.summus24-month .summus16-day{
  height:38px !important;
  min-height:38px !important;
  padding:6px 7px !important;
}
.summus24-month .summus16-day-number{
  font-size:11px !important;
}
.summus24-month .summus16-day.selected{
  height:34px !important;
  min-height:34px !important;
}
.summus24-month .summus23-legend{
  padding-top:6px !important;
}

/* Na běžném notebooku musí oba bloky stále zůstat vedle sebe */
@media(max-width:1280px){
  .summus23-workspace{
    grid-template-columns:340px minmax(0,1fr) !important;
  }
  .summus24-split{
    grid-template-columns:minmax(320px,.85fr) minmax(470px,1.15fr) !important;
    gap:10px !important;
  }
}

/* Teprve na opravdu malé šířce je dáme pod sebe */
@media(max-width:1020px){
  .summus23-workspace{
    grid-template-columns:300px minmax(0,1fr) !important;
  }
  .summus24-split{
    grid-template-columns:1fr !important;
  }
  .summus24-daily{
    border-right:0 !important;
    border-bottom:1px solid #e6edf2 !important;
    padding-right:0 !important;
    padding-bottom:10px !important;
  }
}
</style>


<style id="summus-index38-target">
/* =========================================================
   SUMMUS Manager – INDEX 38
   CÍLOVÝ VZHLED podle schváleného návrhu
   Zachována funkční logika INDEX 38.
   ========================================================= */

html, body{
  margin:0 !important;
  background:#eef4f8 !important;
}

/* Full width */
#summus-manager-root{
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  background:#eef4f8 !important;
  overflow-x:hidden !important;
}
.summus23-shell{
  display:grid !important;
  grid-template-columns:250px minmax(0,1fr) !important;
  width:100% !important;
  min-height:100vh !important;
}

/* Sidebar */
.summus23-sidebar{
  width:250px !important;
  min-width:250px !important;
  padding:18px 14px !important;
  background:linear-gradient(180deg,#07395f 0%,#08365a 100%) !important;
}
.summus23-brand img{
  width:102px !important;
  height:102px !important;
}
.summus23-brand strong{
  font-size:22px !important;
}
.summus23-nav a{
  min-height:44px !important;
  font-size:12px !important;
}
.summus23-nav a.active{
  background:linear-gradient(90deg,#1172ae,#178ac1) !important;
}
.summus23-foot{
  font-size:9px !important;
}

/* Main */
.summus23-main{
  padding:18px 20px 22px !important;
  min-width:0 !important;
}
.summus23-top{
  margin-bottom:10px !important;
}
.summus23-top h1{
  font-size:28px !important;
}
.summus23-top p{
  font-size:10px !important;
}
.summus23-back{
  min-height:38px !important;
  padding:0 14px !important;
}

/* 3 working columns: requests / daily / month */
.summus23-workspace{
  display:grid !important;
  grid-template-columns:400px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
}
.summus24-calendar{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.summus24-split{
  display:grid !important;
  grid-template-columns:minmax(400px,.9fr) minmax(520px,1.15fr) !important;
  gap:12px !important;
  align-items:start !important;
}

/* Common cards */
.summus23-requests,
.summus24-daily,
.summus24-month{
  background:#fff !important;
  border:1px solid #e1eaf0 !important;
  border-radius:13px !important;
  box-shadow:0 2px 12px rgba(15,55,82,.035) !important;
}

/* Requests */
.summus23-requests{
  padding:17px !important;
  max-height:calc(100vh - 30px) !important;
}
.summus23-request-head h2{
  font-size:19px !important;
}
.summus23-request-head p{
  font-size:10px !important;
  max-width:270px !important;
}
.summus23-count{
  width:58px !important;
  height:58px !important;
}
#summus-month-filters{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
}
#summus-month-filters .summus-month-filter{
  min-height:29px !important;
  font-size:8px !important;
}
#summus-live-target .summus-live-card{
  margin:6px 0 !important;
  padding:10px 10px 10px 14px !important;
}

/* Daily card */
.summus24-daily{
  padding:14px !important;
  border-right:1px solid #e1eaf0 !important;
}
.summus24-daily-head{
  margin:0 0 10px !important;
  padding:0 0 8px !important;
}
.summus24-daily-head h2{
  font-size:18px !important;
}
.summus24-daily .summus16-agenda{
  grid-template-columns:1fr !important;
  gap:7px !important;
}
.summus24-daily .summus16-doctor{
  border-radius:8px !important;
}
.summus24-daily .summus16-doctor-head{
  padding:7px 9px !important;
}
.summus24-daily .summus16-row{
  grid-template-columns:100px minmax(0,1fr) !important;
  padding:2px 0 !important;
}
.summus24-daily .summus16-time{
  font-size:9px !important;
}
.summus24-daily .summus16-free{
  min-height:27px !important;
  padding:4px 8px !important;
}

/* Month card */
.summus24-month{
  padding:14px !important;
}
.summus24-month-head h2{
  font-size:18px !important;
}
.summus24-month-head p{
  font-size:9px !important;
  max-width:330px !important;
}
.summus24-month #summus-doctor-settings{
  min-height:38px !important;
  padding:0 14px !important;
}
.summus24-month .summus23-monthbar{
  margin:8px 0 8px !important;
}
.summus24-month #summus16-month-title{
  font-size:17px !important;
}

/* Calendar */
.summus24-month .summus16-calendar{
  width:100% !important;
  max-width:none !important;
  border-radius:9px !important;
}
.summus24-month .summus16-weekdays span{
  padding:6px 0 !important;
}
.summus24-month .summus16-day{
  height:44px !important;
  min-height:44px !important;
  padding:7px 8px !important;
}
.summus24-month .summus16-day-number{
  font-size:12px !important;
}
.summus24-month .summus16-day.selected{
  height:38px !important;
  min-height:38px !important;
  margin:3px !important;
}
.summus24-month .summus23-legend{
  padding:8px 3px 0 !important;
  gap:16px !important;
}

/* Doctor chips */
.summus-doctor-chip{
  min-height:28px !important;
  padding:0 9px !important;
  font-size:8px !important;
}

/* On large screens match target proportions */
@media(min-width:1500px){
  .summus23-shell{
    grid-template-columns:260px minmax(0,1fr) !important;
  }
  .summus23-workspace{
    grid-template-columns:410px minmax(0,1fr) !important;
  }
  .summus24-split{
    grid-template-columns:minmax(420px,.9fr) minmax(560px,1.2fr) !important;
  }
}

/* Keep all three columns on standard notebook if possible */
@media(max-width:1280px){
  .summus23-shell{
    grid-template-columns:220px minmax(0,1fr) !important;
  }
  .summus23-workspace{
    grid-template-columns:340px minmax(0,1fr) !important;
  }
  .summus24-split{
    grid-template-columns:minmax(350px,.9fr) minmax(460px,1.1fr) !important;
    gap:10px !important;
  }
}

/* Small screens */
@media(max-width:1050px){
  .summus23-workspace{
    grid-template-columns:300px minmax(0,1fr) !important;
  }
  .summus24-split{
    grid-template-columns:1fr !important;
  }
}
</style>


<style id="summus-index38-final-layout">
/* =========================================================
   INDEX 38 – finální široké pracovní rozložení
   - užší levé menu
   - užší žádosti
   - širší denní přehled
   - širší měsíční kalendář
   - žádné ujíždění pravého sloupce
   - denní přehled = vždy jeden lékař
   ========================================================= */

html,body{
  overflow-x:hidden !important;
}

#summus-manager-root{
  width:100vw !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
}

#summus-manager-root .summus23-shell{
  grid-template-columns:190px minmax(0,1fr) !important;
  width:100% !important;
  max-width:100% !important;
}

#summus-manager-root .summus23-sidebar{
  width:190px !important;
  min-width:190px !important;
  padding:16px 10px !important;
}

#summus-manager-root .summus23-brand img{
  width:88px !important;
  height:88px !important;
}
#summus-manager-root .summus23-brand strong{
  font-size:19px !important;
}
#summus-manager-root .summus23-nav a{
  min-height:42px !important;
  padding-left:10px !important;
  padding-right:10px !important;
  font-size:11px !important;
}

#summus-manager-root .summus23-main{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:14px 14px 18px !important;
  overflow:hidden !important;
}

#summus-manager-root .summus23-top{
  margin-bottom:8px !important;
}
#summus-manager-root .summus23-top h1{
  font-size:25px !important;
  line-height:1.05 !important;
}
#summus-manager-root .summus23-top p{
  margin-top:4px !important;
}

/* Celá pracovní plocha: žádosti jsou užší */
#summus-manager-root .summus23-workspace{
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  align-items:start !important;
}

/* Pravá pracovní část se NESMÍ roztahovat mimo viewport */
#summus-manager-root .summus23-calendar,
#summus-manager-root .summus24-calendar{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

/* Denní přehled dostává o něco víc místa než kalendář */
#summus-manager-root .summus24-split{
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

#summus-manager-root .summus23-requests,
#summus-manager-root .summus24-daily,
#summus-manager-root .summus24-month{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Žádosti kompaktnější */
#summus-manager-root .summus23-requests{
  padding:14px !important;
}
#summus-manager-root .summus23-request-head h2{
  font-size:18px !important;
}
#summus-manager-root .summus23-request-head p{
  font-size:9px !important;
  line-height:1.45 !important;
}
#summus-manager-root .summus23-count{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  font-size:9px !important;
}
#summus-manager-root #summus-month-filters{
  gap:6px !important;
}
#summus-manager-root #summus-month-filters .summus-month-filter{
  min-height:27px !important;
  padding:3px 4px !important;
  font-size:7px !important;
}

/* Denní přehled – hlavní pracovní prostor */
#summus-manager-root .summus24-daily{
  padding:13px !important;
}
#summus-manager-root .summus24-daily-head{
  min-height:54px !important;
}
#summus-manager-root .summus24-daily-head h2{
  font-size:18px !important;
  margin-top:3px !important;
}

/* Jeden lékař = řádky mohou být pohodlně široké */
#summus-manager-root .summus24-daily .summus16-agenda{
  display:block !important;
  width:100% !important;
}
#summus-manager-root .summus24-daily .summus16-doctor{
  width:100% !important;
  max-width:none !important;
}
#summus-manager-root .summus24-daily .summus16-row{
  grid-template-columns:105px minmax(0,1fr) !important;
  gap:8px !important;
}
#summus-manager-root .summus24-daily .summus16-time{
  font-size:10px !important;
  white-space:nowrap !important;
}
#summus-manager-root .summus24-daily .summus16-free{
  width:100% !important;
}

/* Měsíční kalendář – drží se uvnitř svého sloupce */
#summus-manager-root .summus24-month{
  padding:13px !important;
  overflow:hidden !important;
}
#summus-manager-root .summus24-month-head{
  gap:8px !important;
}
#summus-manager-root .summus24-month-head > div{
  min-width:0 !important;
}
#summus-manager-root .summus24-month-head h2{
  font-size:18px !important;
}
#summus-manager-root .summus24-month-head p{
  font-size:8px !important;
  line-height:1.4 !important;
}
#summus-manager-root .summus24-month #summus-doctor-settings{
  flex:0 0 auto !important;
  padding:0 11px !important;
  font-size:10px !important;
}
#summus-manager-root .summus24-month .summus16-calendar,
#summus-manager-root .summus24-month .summus16-month-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
#summus-manager-root .summus24-month .summus16-day{
  min-width:0 !important;
  height:42px !important;
  min-height:42px !important;
  padding:5px 4px !important;
}
#summus-manager-root .summus24-month .summus16-day-number{
  font-size:12px !important;
}

/* Notebook / 1440 px – stále tři sloupce, bez horizontálního posunu */
@media (max-width:1450px){
  #summus-manager-root .summus23-shell{
    grid-template-columns:180px minmax(0,1fr) !important;
  }
  #summus-manager-root .summus23-sidebar{
    width:180px !important;
    min-width:180px !important;
  }
  #summus-manager-root .summus23-workspace{
    grid-template-columns:285px minmax(0,1fr) !important;
  }
  #summus-manager-root .summus24-split{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) !important;
  }
}

/* Až opravdu malý displej skládáme pod sebe */
@media (max-width:1080px){
  #summus-manager-root .summus23-workspace{
    grid-template-columns:270px minmax(0,1fr) !important;
  }
  #summus-manager-root .summus24-split{
    grid-template-columns:1fr !important;
  }
}
</style>


<style id="summus-index38-fixes">
/* =========================================================
   INDEX 38
   - opravuje horní část pod WordPress admin lištou
   - centrované šipky měsíce
   - menší měsíční filtry + větší písmo
   - zachovává široký denní přehled a kalendář z INDEX 26
   ========================================================= */

/* 1) Horní část už nesmí zalézat pod WP admin bar */
#summus-manager-root .summus23-main{
  padding-top:42px !important;
}
#summus-manager-root .summus23-top{
  min-height:54px !important;
  display:flex !important;
  align-items:flex-start !important;
  margin-bottom:8px !important;
}
#summus-manager-root .summus23-top h1{
  margin:0 !important;
  padding:0 !important;
  font-size:25px !important;
  line-height:1.08 !important;
}
#summus-manager-root .summus23-top p{
  margin:5px 0 0 !important;
  line-height:1.3 !important;
}

/* 2) Šipky měsíce: čisté čtvercové ovládání, šipka přesně uprostřed */
#summus-manager-root .summus23-monthbar .summus16-nav{
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  font-size:18px !important;
  font-weight:700 !important;
  border-radius:8px !important;
  border:1px solid #d2e0e8 !important;
  background:#fff !important;
  color:#0f4166 !important;
}
#summus-manager-root .summus23-monthbar .summus16-nav:hover{
  background:#f4f9fc !important;
  border-color:#9dc6d8 !important;
}
#summus-manager-root .summus23-monthbar{
  grid-template-columns:36px minmax(140px,1fr) 36px minmax(12px,.45fr) auto !important;
  align-items:center !important;
}
#summus-manager-root #summus16-month-title{
  line-height:36px !important;
  margin:0 !important;
}

/* DNES ve stejné optické výšce */
#summus-manager-root #summus16-today{
  height:36px !important;
  min-height:36px !important;
  padding:0 11px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* 3) Filtry měsíců žádostí: menší "bublina", ale větší/čitelnější text */
#summus-manager-root #summus-month-filters{
  gap:7px 6px !important;
}
#summus-manager-root #summus-month-filters .summus-month-filter{
  min-height:23px !important;
  height:23px !important;
  padding:0 7px !important;
  border-radius:12px !important;
  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.05px !important;
}
#summus-manager-root .summus-month-filter-label{
  margin:8px 0 7px !important;
  font-size:8.5px !important;
}

/* Trochu uvolnit prostor kartám klientů */
#summus-manager-root .summus23-requests{
  padding:13px !important;
}
#summus-manager-root #summus-live-target{
  margin-top:8px !important;
}
#summus-manager-root #summus-live-target .summus-live-card{
  margin:6px 0 !important;
}

/* Loading box už nebude obří */
#summus-manager-root #summus-live-target .summus-loading{
  min-height:54px !important;
  padding:14px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-size:10px !important;
}

/* Zachovat pravý sloupec uvnitř viewportu */
#summus-manager-root .summus24-month,
#summus-manager-root .summus16-calendar,
#summus-manager-root .summus16-month-grid{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
</style>


<style id="summus-index38-font-tuning">
/* =========================================================
   INDEX 38 – větší a čitelnější písmo bez změny rozměrů karet
   ========================================================= */

/* DENNÍ PŘEHLED */
#summus-manager-root .summus24-daily-head .summus-calendar-kicker{
  font-size:9px !important;
  letter-spacing:1.2px !important;
}
#summus-manager-root .summus24-daily-head h2{
  font-size:19px !important;
  line-height:1.08 !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head b{
  font-size:10px !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head span{
  font-size:8px !important;
}
#summus-manager-root .summus24-daily .summus16-time{
  font-size:10.5px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-free{
  font-size:8.5px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-row{
  grid-template-columns:108px minmax(0,1fr) !important;
}

/* PLÁNOVÁNÍ TERMÍNŮ */
#summus-manager-root .summus24-month-head .summus-calendar-kicker{
  font-size:9px !important;
  letter-spacing:1.1px !important;
}
#summus-manager-root .summus24-month-head h2{
  font-size:19px !important;
  line-height:1.08 !important;
}
#summus-manager-root .summus24-month-head p{
  font-size:9px !important;
  line-height:1.45 !important;
}
#summus-manager-root #summus-doctor-settings{
  font-size:10px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus16-month-title{
  font-size:18px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus16-today{
  font-size:9px !important;
  font-weight:900 !important;
}

/* Kalendář – větší písmo, stejné buňky */
#summus-manager-root .summus24-month .summus16-weekdays span{
  font-size:8px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-month .summus16-day-number{
  font-size:13px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus23-legend{
  font-size:9px !important;
}

/* LEVÝ PANEL – žádosti */
#summus-manager-root .summus23-request-head h2{
  font-size:19px !important;
}
#summus-manager-root .summus23-request-head p{
  font-size:10px !important;
  line-height:1.45 !important;
}
#summus-manager-root .summus-month-filter-label{
  font-size:9px !important;
}
#summus-manager-root #summus-month-filters .summus-month-filter{
  font-size:9px !important;
  font-weight:900 !important;
}

/* Karty klientů – větší čitelnost */
#summus-manager-root #summus-live-target .summus-live-name{
  font-size:12.5px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus-live-target .summus-live-meta{
  font-size:9px !important;
}
#summus-manager-root #summus-live-target .summus-live-exam{
  font-size:9.5px !important;
  line-height:1.4 !important;
}
#summus-manager-root #summus-live-target .summus-live-contact{
  font-size:8.5px !important;
}
#summus-manager-root #summus-live-target .summus-live-time{
  font-size:8px !important;
}
#summus-manager-root #summus-live-target .summus-live-status{
  font-size:8px !important;
}
</style>


<style id="summus-index38-large-readable">
/* =========================================================
   INDEX 38 – KOMPLETNĚ VĚTŠÍ TYPOGRAFIE
   Zachované rozložení INDEX 28, pouze výrazně lepší čitelnost.
   ========================================================= */

/* HLAVNÍ NADPIS */
#summus-manager-root .summus23-top h1{
  font-size:30px !important;
  line-height:1.08 !important;
}
#summus-manager-root .summus23-top p{
  font-size:11.5px !important;
}

/* SIDEBAR */
#summus-manager-root .summus23-brand strong{
  font-size:21px !important;
}
#summus-manager-root .summus23-brand span{
  font-size:10px !important;
}
#summus-manager-root .summus23-nav a{
  font-size:12.5px !important;
  font-weight:800 !important;
}
#summus-manager-root .summus23-foot{
  font-size:10px !important;
}

/* LEVÝ PANEL – ŽÁDOSTI */
#summus-manager-root .summus23-request-head h2{
  font-size:21px !important;
  line-height:1.1 !important;
}
#summus-manager-root .summus23-request-head p{
  font-size:11px !important;
  line-height:1.5 !important;
}
#summus-manager-root .summus23-count{
  font-size:10px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus-month-filter-label{
  font-size:10px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus-month-filters .summus-month-filter{
  font-size:10px !important;
  font-weight:900 !important;
}

/* KARTY KLIENTŮ */
#summus-manager-root #summus-live-target .summus-live-name{
  font-size:14px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus-live-target .summus-live-meta{
  font-size:10px !important;
  line-height:1.4 !important;
}
#summus-manager-root #summus-live-target .summus-live-exam{
  font-size:10.5px !important;
  line-height:1.45 !important;
}
#summus-manager-root #summus-live-target .summus-live-appointment{
  font-size:10.5px !important;
}
#summus-manager-root #summus-live-target .summus-live-contact{
  font-size:9.5px !important;
}
#summus-manager-root #summus-live-target .summus-live-time{
  font-size:9px !important;
}
#summus-manager-root #summus-live-target .summus-live-status{
  font-size:9px !important;
  font-weight:900 !important;
}

/* DENNÍ PŘEHLED */
#summus-manager-root .summus24-daily-head .summus-calendar-kicker{
  font-size:10px !important;
  letter-spacing:1.3px !important;
}
#summus-manager-root .summus24-daily-head h2{
  font-size:21px !important;
  line-height:1.1 !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head b{
  font-size:11px !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head span{
  font-size:9px !important;
}
#summus-manager-root .summus24-daily .summus16-time{
  font-size:12px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-free{
  font-size:10px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-row{
  grid-template-columns:118px minmax(0,1fr) !important;
}

/* PLÁNOVÁNÍ TERMÍNŮ */
#summus-manager-root .summus24-month-head .summus-calendar-kicker{
  font-size:10px !important;
  letter-spacing:1.2px !important;
}
#summus-manager-root .summus24-month-head h2{
  font-size:21px !important;
  line-height:1.1 !important;
}
#summus-manager-root .summus24-month-head p{
  font-size:10px !important;
  line-height:1.5 !important;
}
#summus-manager-root #summus-doctor-settings{
  font-size:11px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus16-month-title{
  font-size:21px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus16-today{
  font-size:10px !important;
  font-weight:900 !important;
}

/* KALENDÁŘ */
#summus-manager-root .summus24-month .summus16-weekdays span{
  font-size:9px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-month .summus16-day-number{
  font-size:15px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus23-legend{
  font-size:10px !important;
  font-weight:700 !important;
}

/* TLAČÍTKA */
#summus-manager-root .summus23-back{
  font-size:10px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus23-monthbar .summus16-nav{
  font-size:20px !important;
}
</style>


<style id="summus-index38-compact-client-cards">
/* =========================================================
   INDEX 38 – KOMPAKTNÍ KARTY KLIENTŮ
   Mění se POUZE levý seznam klientů.
   Ostatní layout, denní přehled a kalendář zůstávají beze změny.
   ========================================================= */

/* Karta – co nejnižší, ale stále čitelná */
#summus-manager-root #summus-live-target .summus-live-card{
  position:relative !important;
  display:block !important;
  min-height:58px !important;
  margin:5px 0 !important;
  padding:8px 70px 8px 13px !important;
  border-radius:8px !important;
  align-items:initial !important;
  gap:0 !important;
}

/* Hlavní obsah karty */
#summus-manager-root #summus-live-target .summus-live-main{
  display:block !important;
  min-width:0 !important;
}

/* Jméno */
#summus-manager-root #summus-live-target .summus-live-name{
  margin:0 0 3px !important;
  padding:0 !important;
  font-size:12.5px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#0b2943 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Vyšetření + délka – jediná informační řádka */
#summus-manager-root #summus-live-target .summus-live-exam{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  max-height:29px !important;
  font-size:9.5px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#39566e !important;
}

/* Tyto informace budou až v DETAILU KLIENTA */
#summus-manager-root #summus-live-target .summus-live-meta,
#summus-manager-root #summus-live-target .summus-live-contact,
#summus-manager-root #summus-live-target .summus-live-time,
#summus-manager-root #summus-live-target .summus-live-appointment{
  display:none !important;
}

/* Původní tlačítko PŘIŘADIT TERMÍN schováme.
   Drag & drop a ostatní logika zůstává v kódu zachována. */
#summus-manager-root #summus-live-target .summus-request-assign-btn{
  display:none !important;
}

/* Stav klienta – malý badge vpravo nahoře */
#summus-manager-root #summus-live-target .summus-live-status{
  position:absolute !important;
  top:7px !important;
  right:7px !important;
  max-width:84px !important;
  padding:4px 6px !important;
  border-radius:999px !important;
  font-size:7px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:normal !important;
}

/* DETAIL = malé oko v pravém dolním rohu */
#summus-manager-root #summus-live-target .summus-request-detail-btn{
  position:absolute !important;
  right:8px !important;
  bottom:7px !important;
  width:29px !important;
  height:25px !important;
  min-width:29px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #d3e1e9 !important;
  border-radius:7px !important;
  background:#f8fbfd !important;
  color:#173f67 !important;
  font-size:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#summus-manager-root #summus-live-target .summus-request-detail-btn::before{
  content:"◉" !important;
  font-size:13px !important;
  line-height:1 !important;
  color:#173f67 !important;
}
#summus-manager-root #summus-live-target .summus-request-detail-btn:hover{
  background:#eaf5fa !important;
  border-color:#8fc6da !important;
}

/* Barevný proužek zůstává jako rychlá vizuální orientace */
#summus-manager-root #summus-live-target .summus-live-card::before{
  width:3px !important;
}

/* Seznam využije prostor – více karet na obrazovce */
#summus-manager-root #summus-live-target .summus-live-list{
  gap:0 !important;
}
</style>


<style id="summus-index38-daily-cards-drop-highlight">
/* =========================================================
   INDEX 38
   Mění se pouze DENNÍ PŘEHLED:
   1. větší písmo
   2. kompaktnější obsazená karta
   3. výrazné označení možných termínů při přesunu
   4. velmi výrazný konkrétní slot pod myší
   ========================================================= */

/* Větší písmo v celém denním přehledu */
#summus-manager-root .summus24-daily-head h2{
  font-size:22px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head b{
  font-size:12px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-doctor-head span{
  font-size:9.5px !important;
  font-weight:800 !important;
}
#summus-manager-root .summus24-daily .summus16-time{
  font-size:12px !important;
  font-weight:900 !important;
  color:#173f67 !important;
}
#summus-manager-root .summus24-daily .summus16-free{
  font-size:10px !important;
  font-weight:900 !important;
  min-height:31px !important;
}
#summus-manager-root .summus24-daily .summus16-row{
  grid-template-columns:118px minmax(0,1fr) !important;
  gap:8px !important;
}

/* OBSazená karta – kompaktnější, ale čitelnější */
#summus-manager-root .summus24-daily .summus16-appt{
  padding:8px 9px !important;
  border-left-width:4px !important;
  border-radius:7px !important;
}
#summus-manager-root .summus24-daily .summus16-appt-top b,
#summus-manager-root .summus24-daily .assigned-head b{
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .summus16-appt-meta,
#summus-manager-root .summus24-daily .summus16-appt .meta{
  font-size:9.5px !important;
  line-height:1.35 !important;
}
#summus-manager-root .summus24-daily .summus-duration-badge{
  font-size:9px !important;
  padding:3px 6px !important;
}
#summus-manager-root .summus24-daily .summus16-appt-status,
#summus-manager-root .summus24-daily .appt-status{
  font-size:9px !important;
  padding:4px 7px !important;
}
#summus-manager-root .summus24-daily .summus16-appt-actions button,
#summus-manager-root .summus24-daily .appt-actions button{
  font-size:8px !important;
  padding:5px 7px !important;
}

/* Všechny možné cíle přesunu = jasně zelené */
body.summus-drag-active #summus-manager-root .summus24-daily .summus-drop-zone.summus-valid-drop,
#summus-manager-root .summus24-daily .summus-drop-zone.summus-valid-drop{
  background:#ecf9ef !important;
  border:2px solid #65b977 !important;
  color:#216b35 !important;
  box-shadow:inset 0 0 0 1px rgba(101,185,119,.12) !important;
  position:relative !important;
}

/* Neplatné sloty při přesunu potlačit */
body.summus-drag-active #summus-manager-root .summus24-daily .summus-drop-zone.summus-invalid-drop{
  opacity:.25 !important;
  background:#f5f7f8 !important;
  border-color:#d9e0e4 !important;
}

/* Slot, nad kterým je právě myš = maximálně jasný cíl */
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over{
  background:#d7f4df !important;
  border:3px solid #16845a !important;
  color:#0d6036 !important;
  box-shadow:0 0 0 4px rgba(22,132,90,.16) !important;
  transform:scale(1.015) !important;
  z-index:5 !important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over::after{
  content:"PUSŤ SEM" !important;
  position:absolute !important;
  right:9px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  background:#16845a !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}

/* Při kliknutí na PŘESUNOUT TERMÍN ukaž platné sloty stejně výrazně */
#summus-manager-root .summus24-daily .summus-drop-zone.summus-valid-drop::before{
  content:"VOLNÝ CÍL" !important;
  position:absolute !important;
  right:7px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:7px !important;
  font-weight:900 !important;
  color:#2d7a43 !important;
  opacity:.8 !important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over::before{
  display:none !important;
}

/* Přesouvaná karta je jasně rozpoznatelná */
#summus-manager-root .summus24-daily .summus-assigned.dragging{
  opacity:.38 !important;
  outline:2px dashed #16845a !important;
  outline-offset:2px !important;
}

/* Banner přesunu větší a čitelnější */
#summus-manager-root .summus-reschedule-banner{
  font-size:11px !important;
  padding:9px 11px !important;
  border:2px solid #e4bf4f !important;
}
</style>


<style id="summus-index38-drop-hint">
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over::after{display:none!important}
#summus-manager-root .summus24-daily .summus-drop-hover-hint{
  position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;
  padding:4px 7px!important;border-radius:999px!important;background:#16845a!important;color:#fff!important;
  font-size:9px!important;font-weight:900!important;white-space:nowrap!important;pointer-events:none!important
}
</style>


<style id="summus-index38-card-unification">
/* =========================================================
   INDEX 38
   1) Karty v ŽÁDOSTECH: větší písmo bez zvětšení výšky karty
   2) Karta v DENNÍM PŘEHLEDU: stejný kompaktní vizuál jako vlevo
   Ostatní layout a funkce zůstávají beze změny.
   ========================================================= */

/* ---------------------------------------------------------
   1. ŽÁDOSTI K VYŘÍZENÍ – větší písmo, stejná výška
   --------------------------------------------------------- */
#summus-manager-root #summus-live-target .summus-live-card{
  min-height:58px !important;
  padding:7px 68px 7px 13px !important;
}
#summus-manager-root #summus-live-target .summus-live-name{
  font-size:14px !important;
  line-height:1.05 !important;
  margin-bottom:3px !important;
  font-weight:900 !important;
}
#summus-manager-root #summus-live-target .summus-live-exam{
  font-size:10.5px !important;
  line-height:1.22 !important;
  max-height:26px !important;
  font-weight:800 !important;
}
#summus-manager-root #summus-live-target .summus-live-status{
  top:6px !important;
  right:6px !important;
  padding:4px 6px !important;
  font-size:7.5px !important;
}
#summus-manager-root #summus-live-target .summus-request-detail-btn{
  right:7px !important;
  bottom:6px !important;
  width:30px !important;
  height:26px !important;
}

/* ---------------------------------------------------------
   2. DENNÍ PŘEHLED – karta klienta vizuálně jako žádost vlevo
   --------------------------------------------------------- */
#summus-manager-root .summus24-daily .summus16-appt,
#summus-manager-root .summus24-daily .appt.summus-assigned{
  position:relative !important;
  display:block !important;
  min-height:62px !important;
  padding:8px 78px 8px 13px !important;
  border:1px solid #dce8ef !important;
  border-left:4px solid #159bc5 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* jméno */
#summus-manager-root .summus24-daily .summus16-appt-top,
#summus-manager-root .summus24-daily .assigned-head{
  display:block !important;
  margin:0 !important;
}
#summus-manager-root .summus24-daily .summus16-appt-top b,
#summus-manager-root .summus24-daily .assigned-head b{
  display:block !important;
  margin:0 0 3px !important;
  font-size:14px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  color:#0b2943 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* schovat badge délky vpravo nahoře – délka zůstane v textu */
#summus-manager-root .summus24-daily .summus-duration-badge,
#summus-manager-root .summus24-daily .move-hint{
  display:none !important;
}

/* meta = vyšetření + délka */
#summus-manager-root .summus24-daily .summus16-appt-meta,
#summus-manager-root .summus24-daily .summus16-appt .meta{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  max-height:27px !important;
  font-size:10.5px !important;
  line-height:1.22 !important;
  font-weight:800 !important;
  color:#39566e !important;
}

/* stav jako badge vpravo nahoře */
#summus-manager-root .summus24-daily .summus16-appt-status,
#summus-manager-root .summus24-daily .appt-status{
  position:absolute !important;
  top:7px !important;
  right:7px !important;
  margin:0 !important;
  max-width:88px !important;
  padding:4px 6px !important;
  border-radius:999px !important;
  font-size:7.5px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:normal !important;
}

/* detail jako malé oko vpravo dole */
#summus-manager-root .summus24-daily .detail-term-btn{
  position:absolute !important;
  right:7px !important;
  bottom:7px !important;
  width:30px !important;
  height:26px !important;
  min-width:30px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #d3e1e9 !important;
  border-radius:7px !important;
  background:#f8fbfd !important;
  color:#173f67 !important;
  font-size:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#summus-manager-root .summus24-daily .detail-term-btn::before{
  content:"◉" !important;
  font-size:13px !important;
  color:#173f67 !important;
}

/* akční tlačítka schovat z těla karty – přesun řeší karta/drag a detail */
#summus-manager-root .summus24-daily .send-term-btn,
#summus-manager-root .summus24-daily .reschedule-term-btn,
#summus-manager-root .summus24-daily .reminder-term-btn,
#summus-manager-root .summus24-daily .return-term-btn{
  display:none !important;
}
#summus-manager-root .summus24-daily .summus16-appt-actions,
#summus-manager-root .summus24-daily .appt-actions{
  margin:0 !important;
  min-height:0 !important;
}

/* přesouvaná karta zůstane vizuálně jasná */
#summus-manager-root .summus24-daily .summus-assigned{
  cursor:grab !important;
}
#summus-manager-root .summus24-daily .summus-assigned:active{
  cursor:grabbing !important;
}
</style>


<style id="summus-index38-daily-actions-status">
/* =========================================================
   INDEX 38
   Mění se pouze karta klienta v DENNÍM PŘEHLEDU:
   - stav zůstává viditelný
   - ODESLAT TERMÍN
   - DETAIL
   - VRÁTIT jako malá ikonka
   - karta zůstává kompaktní
   ========================================================= */

#summus-manager-root .summus24-daily .summus16-appt,
#summus-manager-root .summus24-daily .appt.summus-assigned{
  position:relative !important;
  display:block !important;
  min-height:82px !important;
  padding:8px 86px 8px 13px !important;
  border:1px solid #dce8ef !important;
  border-left:4px solid #159bc5 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* jméno */
#summus-manager-root .summus24-daily .assigned-head,
#summus-manager-root .summus24-daily .summus16-appt-top{
  display:block !important;
  margin:0 !important;
}
#summus-manager-root .summus24-daily .assigned-head b,
#summus-manager-root .summus24-daily .summus16-appt-top b{
  display:block !important;
  margin:0 0 3px !important;
  font-size:14px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  color:#0b2943 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* vyšetření + délka */
#summus-manager-root .summus24-daily .summus16-appt .meta,
#summus-manager-root .summus24-daily .summus16-appt-meta{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  max-height:29px !important;
  font-size:10.5px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#39566e !important;
}

/* badge délky a move hint neukazujeme */
#summus-manager-root .summus24-daily .summus-duration-badge,
#summus-manager-root .summus24-daily .move-hint{
  display:none !important;
}

/* stav vpravo nahoře */
#summus-manager-root .summus24-daily .appt-status,
#summus-manager-root .summus24-daily .summus16-appt-status{
  position:absolute !important;
  top:7px !important;
  right:7px !important;
  margin:0 !important;
  max-width:92px !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  font-size:7.5px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:normal !important;
}

/* barvy stavů */
#summus-manager-root .summus24-daily .appt-status.paid,
#summus-manager-root .summus24-daily .summus16-appt-status.paid{
  background:#eaf8f1 !important;
  color:#16845a !important;
}
#summus-manager-root .summus24-daily .appt-status.waiting{
  background:#fff0df !important;
  color:#c46816 !important;
}
#summus-manager-root .summus24-daily .appt-status.unpaid{
  background:#fff0f0 !important;
  color:#b74747 !important;
}

/* spodní akce */
#summus-manager-root .summus24-daily .appt-actions,
#summus-manager-root .summus24-daily .summus16-appt-actions{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin-top:7px !important;
  min-height:27px !important;
}

/* ODESLAT TERMÍN */
#summus-manager-root .summus24-daily .send-term-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:27px !important;
  padding:0 9px !important;
  border:0 !important;
  border-radius:6px !important;
  background:#173f67 !important;
  color:#fff !important;
  font-size:8px !important;
  font-weight:900 !important;
}

/* DETAIL */
#summus-manager-root .summus24-daily .detail-term-btn{
  display:inline-flex !important;
  position:static !important;
  width:auto !important;
  min-width:0 !important;
  height:27px !important;
  padding:0 9px !important;
  margin:0 !important;
  border:1px solid #d3e1e9 !important;
  border-radius:6px !important;
  background:#f8fbfd !important;
  color:#173f67 !important;
  font-size:8px !important;
  font-weight:900 !important;
}
#summus-manager-root .summus24-daily .detail-term-btn::before{
  content:"" !important;
}

/* VRÁTIT = malá ikonka vpravo dole */
#summus-manager-root .summus24-daily .return-term-btn{
  display:flex !important;
  position:absolute !important;
  right:7px !important;
  bottom:7px !important;
  width:30px !important;
  height:27px !important;
  min-width:30px !important;
  padding:0 !important;
  margin:0 !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d5e0e7 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#173f67 !important;
  font-size:0 !important;
}
#summus-manager-root .summus24-daily .return-term-btn::before{
  content:"↶" !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#173f67 !important;
}

/* Přesun a připomínka zůstávají funkční v kódu, ale nezahlcují kartu */
#summus-manager-root .summus24-daily .reschedule-term-btn,
#summus-manager-root .summus24-daily .reminder-term-btn{
  display:none !important;
}
</style>


<style id="summus-index38-fixes">
/* INDEX 38 – pouze opravy požadované po INDEX 33 */

/* 1) VRÁTIT = opravdu jen ikonka */
#summus-manager-root .summus24-daily .return-term-btn{
  width:28px!important;
  min-width:28px!important;
  height:27px!important;
  padding:0!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  white-space:nowrap!important;
}
#summus-manager-root .summus24-daily .return-term-btn::before{
  content:"↶"!important;
  display:block!important;
  text-indent:0!important;
  font-size:18px!important;
  line-height:25px!important;
  font-weight:900!important;
  color:#173f67!important;
}

/* 2) Přesun – čisté a jednoznačné zvýraznění cíle */
body.summus-drag-active #summus-manager-root .summus24-daily .summus-drop-zone.summus-valid-drop{
  background:#edf9f0!important;
  border:2px solid #55b86d!important;
  color:#19733a!important;
}
body.summus-drag-active #summus-manager-root .summus24-daily .summus-drop-zone.summus-invalid-drop{
  opacity:.20!important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.summus-valid-drop::before{
  display:none!important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over{
  background:#d7f5df!important;
  border:3px solid #13834f!important;
  box-shadow:0 0 0 4px rgba(19,131,79,.15)!important;
  color:transparent!important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over .summus-drop-hover-hint{
  color:#fff!important;
  background:#13834f!important;
  font-size:10px!important;
  font-weight:900!important;
}

/* 3) V seznamu ŽÁDOSTÍ nesmí být stav MÁ TERMÍN */
#summus-manager-root #summus-live-target .summus-live-status.summus-fixed-request-status{
  background:#e8f7fb!important;
  color:#087b9f!important;
}
</style>


<style id="summus-index38-critical-fix">
/* INDEX 38 – oprava datové logiky žádostí + skrytých obsazených slotů */

/* V ŽÁDOSTECH zobrazujeme pouze skutečně nepřiřazené klienty */
#summus-manager-root #summus-live-target .summus-live-card[data-has-appointment="1"]{
  display:none !important;
}

/* Drag target: jen jeden jasný text, žádné překrývání starých pseudo-popisků */
#summus-manager-root .summus24-daily .summus-drop-zone::before,
#summus-manager-root .summus24-daily .summus-drop-zone::after{
  display:none !important;
  content:none !important;
}
#summus-manager-root .summus24-daily .summus-drop-zone.drag-over{
  color:#0d6036 !important;
}
#summus-manager-root .summus24-daily .summus-drop-hover-hint{
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#16845a!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

/* Stav vrátit = jen ikonka */
#summus-manager-root .summus24-daily .return-term-btn{
  text-indent:-9999px!important;
  overflow:hidden!important;
}
#summus-manager-root .summus24-daily .return-term-btn::before{
  content:"↶"!important;
  display:block!important;
  text-indent:0!important;
  font-size:18px!important;
  line-height:25px!important;
}
</style>


<style id="summus-index38-sync-and-all-cards">
/* =========================================================
   INDEX 38 – KRITICKÁ OPRAVA SYNCHRONIZACE
   - skutečně obsazené sloty se načtou hned po Connectoru
   - všechny klientské karty jsou znovu vidět
   - karty, které už mají termín, nejsou draggable
   ========================================================= */

/* Vrátit všechny karty z Connectoru do levého seznamu */
#summus-manager-root #summus-live-target .summus-live-card[data-has-appointment="1"]{
  display:block !important;
  opacity:1 !important;
}

/* Klient s existujícím termínem je viditelný, ale nesmí jít znovu přetáhnout jako NOVÝ */
#summus-manager-root #summus-live-target .summus-live-card[data-has-appointment="1"]{
  cursor:default !important;
}

/* Nové/nepřiřazené zůstávají draggable */
#summus-manager-root #summus-live-target .summus-live-card[data-has-appointment="0"]{
  cursor:grab !important;
}
#summus-manager-root #summus-live-target .summus-live-card[data-has-appointment="0"]:active{
  cursor:grabbing !important;
}

/* Přehledný stav obsazeného slotu */
#summus-manager-root .summus24-daily .summus16-appt{
  background:#fff !important;
}

/* Drag target - jeden čistý nápis */
#summus-manager-root .summus24-daily .summus-drop-zone::before,
#summus-manager-root .summus24-daily .summus-drop-zone::after{
  display:none !important;
  content:none !important;
}
</style>


<style id="summus-index38-doctor-delete">
/* INDEX 38 – správa / mazání termínů lékařů */
#summus-manager-root .summus-doctor-box{
  width:min(680px,96vw) !important;
  max-height:88vh !important;
  overflow:auto !important;
}
#summus-manager-root .summus-doctor-saved{
  margin-top:16px !important;
  padding-top:14px !important;
  border-top:1px solid #e3ebf0 !important;
}
#summus-manager-root .summus-doctor-saved-title{
  margin-bottom:8px !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.8px !important;
  color:#668096 !important;
}
#summus-manager-root #summus-doctor-rules-list{
  display:grid !important;
  gap:7px !important;
}
#summus-manager-root .summus-doctor-rule-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:center !important;
  padding:9px 10px !important;
  border:1px solid #dce7ed !important;
  border-radius:9px !important;
  background:#f9fcfd !important;
}
#summus-manager-root .summus-doctor-rule-main{
  min-width:0 !important;
}
#summus-manager-root .summus-doctor-rule-name{
  font-size:11px !important;
  font-weight:900 !important;
  color:#0b2943 !important;
}
#summus-manager-root .summus-doctor-rule-meta{
  margin-top:3px !important;
  font-size:9px !important;
  line-height:1.35 !important;
  color:#688094 !important;
}
#summus-manager-root .summus-doctor-rule-delete{
  min-width:34px !important;
  height:30px !important;
  padding:0 9px !important;
  border:1px solid #efcaca !important;
  border-radius:7px !important;
  background:#fff3f3 !important;
  color:#a73f3f !important;
  font-size:9px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
#summus-manager-root .summus-doctor-rule-delete:hover{
  background:#ffe7e7 !important;
}
#summus-manager-root .summus-doctor-rules-empty{
  padding:12px !important;
  text-align:center !important;
  border:1px dashed #cadbe4 !important;
  border-radius:8px !important;
  color:#718494 !important;
  font-size:10px !important;
}
</style>


<style id="summus-index38-client-message">
/* INDEX 38 – zpráva z objednávkového formuláře v DETAILU klienta */
#summus-manager-root .client-detail-message strong{
  white-space:pre-wrap !important;
  font-weight:700 !important;
  line-height:1.55 !important;
  color:#294b64 !important;
}
#summus-manager-root .client-detail-message{
  background:#fffaf0 !important;
  border-color:#eedfb8 !important;
}
</style>

<div id="summus-manager-root" class="summus23">
  <div class="summus23-shell">

    <aside class="summus23-sidebar">
      <div class="summus23-brand">
        <img src="https://www.summusvita.cz/wp-content/uploads/2022/10/logo-summusvita-small.jpg" alt="SUMMUS vita">
        <strong>SUMMUS vita</strong>
        <span>MANAGER</span>
      </div>

      <nav class="summus23-nav">
        <a class="active" href="/manager/">◉ <span>PŘEHLED</span></a>
        <a href="/manager/">▣ <span>NOVÉ ŽÁDOSTI</span><b id="live-nav-count">0</b></a>
        <a href="/manager-kalendar/">▦ <span>PLÁNOVÁNÍ TERMÍNŮ</span></a>
        <a href="/manager/">♧ <span>NÁHRADNÍCI</span><b>7</b></a>
        <a href="/manager/">♙ <span>KLIENTI</span></a>
        <a href="/manager/">▤ <span>PLATBY</span></a>
        <a href="/manager/">▧ <span>DOKUMENTY</span></a>
        <a href="/manager/">◇ <span>AUTOMATIZACE</span></a>
        <a href="/manager/">⚙ <span>NASTAVENÍ</span></a>
      </nav>

      <div class="summus23-foot">
        SUMMUS Manager<br>
        KALENDÁŘ · INDEX 38
      </div>
    </aside>

    <main class="summus23-main">
      <header class="summus23-top">
        <div>
          <h1>Plánování termínů</h1>
          <p>Velký pracovní kalendář SUMMUS vita · výběr dne, lékaře a termínu.</p>
        </div>
        <a class="summus23-back" href="/manager/">← ZPĚT NA PŘEHLED</a>
      </header>

      <div class="summus23-workspace">

        <section class="summus23-requests">
          <div class="summus23-request-head">
            <div>
              <h2>Žádosti k vyřízení</h2>
              <p>Vyber klienta vlevo a potom klikni na vhodný volný termín vpravo.</p>
            </div>
            <span class="summus23-count" id="live-request-pill">0 NOVÝCH</span>
          </div>

          <div class="summus-month-filter-label">POŽADOVANÝ MĚSÍC</div>
          <div class="summus-month-filters" id="summus-month-filters">
            <button class="summus-month-filter active" data-month="">VŠE</button>
            <button class="summus-month-filter" data-month="Leden">LEDEN</button>
            <button class="summus-month-filter" data-month="Únor">ÚNOR</button>
            <button class="summus-month-filter" data-month="Březen">BŘEZEN</button>
            <button class="summus-month-filter" data-month="Duben">DUBEN</button>
            <button class="summus-month-filter" data-month="Květen">KVĚTEN</button>
            <button class="summus-month-filter" data-month="Červen">ČERVEN</button>
            <button class="summus-month-filter" data-month="Červenec">ČERVENEC</button>
            <button class="summus-month-filter" data-month="Srpen">SRPEN</button>
            <button class="summus-month-filter" data-month="Září">ZÁŘÍ</button>
            <button class="summus-month-filter" data-month="Říjen">ŘÍJEN</button>
            <button class="summus-month-filter" data-month="Listopad">LISTOPAD</button>
            <button class="summus-month-filter" data-month="Prosinec">PROSINEC</button>
          </div>

          <div id="summus-live-target">
            <div class="summus-loading">Načítám karty klientů…</div>
          </div>
        </section>

        
<section class="summus23-calendar summus24-calendar">
  <div class="summus24-split">

    <!-- LEFT: DAILY OVERVIEW -->
    <div class="summus24-daily">
      <div class="summus24-daily-head">
        <div>
          <div class="summus-calendar-kicker">DENNÍ PŘEHLED</div>
          <h2 id="summus16-day-title">Vyber den</h2>
        </div>
      </div>

      <div class="summus16-assign-banner" id="summus16-assign-banner">
        <div>
          <small>VYBRANÝ KLIENT</small>
          <strong id="summus16-assign-name">—</strong>
          <span id="summus16-assign-exam"></span>
        </div>
        <button type="button" id="summus16-assign-cancel">ZRUŠIT VÝBĚR</button>
      </div>

      <div class="summus16-agenda" id="summus16-agenda"></div>
    </div>

    <!-- RIGHT: MONTH CALENDAR -->
    <div class="summus24-month">
      <div class="summus24-month-head">
        <div>
          <div class="summus-calendar-kicker">PLÁNOVÁNÍ TERMÍNŮ · INDEX 38</div>
          <h2>Plánování termínů</h2>
          <p>Vyber den v kalendáři. Vlevo se okamžitě zobrazí denní plán.</p>
        </div>
        <button type="button" class="btn primary summus-open-doctor-settings" id="summus-doctor-settings">+ TERMÍNY LÉKAŘŮ</button>
      </div>

      <div class="summus23-monthbar">
        <button type="button" class="summus16-nav" id="summus16-month-prev">←</button>
        <div class="summus16-month-title" id="summus16-month-title">Měsíc</div>
        <button type="button" class="summus16-nav" id="summus16-month-next">→</button>
        <span></span>
        <button type="button" class="summus16-today" id="summus16-today">DNES</button>
      </div>

      <div class="summus16-calendar">
        <div class="summus16-weekdays">
          <span>PO</span><span>ÚT</span><span>ST</span><span>ČT</span><span>PÁ</span><span>SO</span><span>NE</span>
        </div>
        <div class="summus16-month-grid" id="summus16-month-grid"></div>
      </div>

      <div class="summus23-legend">
        <span><i class="mlynarik"></i>Mlynárik</span>
        <span><i class="stolba"></i>Štolba</span>
        <span><i class="vomacka"></i>Vomáčka</span>
      </div>
    </div>

  </div>
</section>

</div>
</main>
  </div>
</div>
<div id="summus-toast"></div>
<div class="client-detail-modal" id="client-detail-modal">
  <div class="client-detail-box">
    <div class="client-detail-head">
      <div>
        <div style="font-size:11px;letter-spacing:.08em;color:#6d88a1;font-weight:800;text-transform:uppercase">KARTA KLIENTA</div>
        <h3 id="client-detail-name">Načítám…</h3>
      </div>
      <button class="client-detail-close" type="button" onclick="closeClientDetail()">Zavřít</button>
    </div>
    <div class="client-detail-grid">
      <div class="client-detail-item"><small>Telefon</small><strong id="client-detail-phone">—</strong></div>
      <div class="client-detail-item"><small>E-mail</small><strong id="client-detail-email">—</strong></div>
      <div class="client-detail-item"><small>Rok narození</small><strong id="client-detail-birth">—</strong></div>
      <div class="client-detail-item"><small>Sport</small><strong id="client-detail-sport">—</strong></div>
      <div class="client-detail-item wide"><small>Vyšetření</small><strong id="client-detail-exam">—</strong></div>
      <div class="client-detail-item wide client-detail-message"><small>Zpráva z objednávky</small><strong id="client-detail-message">—</strong></div>
      <div class="client-detail-item"><small>Požadovaný měsíc</small><strong id="client-detail-month">—</strong></div>
      <div class="client-detail-item"><small>ID žádosti / přijetí</small><strong id="client-detail-id">—</strong></div>
    </div>
  </div>
</div>
<div class="modal" id="modal"><div class="modalbox"><div class="head"><div><b>Nový klient / ruční žádost</b><div class="meta">Jedno zadání = data se dál používají automaticky.</div></div><button class="btn secondary" onclick="closeModal()">Zavřít</button></div><div class="formgrid"><input placeholder="Jméno"><input placeholder="Příjmení"><input placeholder="E-mail"><input placeholder="Telefon"><input placeholder="Rok narození"><input placeholder="Sport"><select class="wide"><option>Sportovní prohlídka</option><option>Klidové EKG</option><option>Ergometrie</option><option>Spiroergometrie</option></select><select><option>Preferovaný měsíc: září</option><option>říjen</option><option>listopad</option></select><select><option>Lékař: automaticky</option><option>Tělovýchovný lékař</option></select><button class="btn primary wide" onclick="closeModal();alert('Klient uložen. V ostré verzi se objeví v žádostech.')">Uložit klienta</button></div></div></div><script>
function openModal(){document.getElementById('modal').classList.add('show')}
function closeModal(){document.getElementById('modal').classList.remove('show')}
function assign(b){b.textContent='Vybrán ✓';b.style.background='#eaf7fb'}
function closeClientDetail(){document.getElementById('client-detail-modal').classList.remove('show')}

(function(){
  var dragged=null;
  var assignedAppointmentsCache=[];
  var summus16SelectedClient=null;
  var summus16SelectedDate=isoDate(new Date());
  var summus16MonthCursor=new Date(new Date().getFullYear(),new Date().getMonth(),1,12,0,0);
  var weekStart=getMonday(new Date());
  var selectedDayOffset=Math.min(Math.max((new Date()).getDay()-1,0),4);

  function toast(msg,isError){
    var t=document.getElementById('summus-toast');
    if(!t) return;
    t.textContent=msg;
    t.classList.toggle('error',!!isError);
    t.style.display='block';
    clearTimeout(window.__summusToastTimer);
    window.__summusToastTimer=setTimeout(function(){t.style.display='none'},3000);
  }

  function getConfig(){ return document.getElementById('summus-manager-config'); }

  function escapeHtml(v){
    return String(v||'').replace(/[&<>"']/g,function(c){
      return {'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[c];
    });
  }

  function updateCounts(){
    var target=document.getElementById('summus-live-target');
    if(!target) return;
    var count=target.querySelectorAll('.summus-live-card').length;
    var nav=document.getElementById('live-nav-count');
    var stat=document.getElementById('live-stat-count');
    var pill=document.getElementById('live-request-pill');
    if(nav) nav.textContent=count;
    if(stat) stat.textContent=count;
    if(pill) pill.textContent=count+' '+(count===1?'NOVÁ':'NOVÝCH');
  }

  function pad2(n){return String(n).padStart(2,'0')}

  function isoDate(d){
    return d.getFullYear()+'-'+pad2(d.getMonth()+1)+'-'+pad2(d.getDate());
  }

  function getMonday(date){
    var d=new Date(date.getFullYear(),date.getMonth(),date.getDate(),12,0,0);
    var day=d.getDay();
    var diff=(day===0?-6:1-day);
    d.setDate(d.getDate()+diff);
    return d;
  }

  function addDays(date,n){
    var d=new Date(date.getTime());
    d.setDate(d.getDate()+n);
    return d;
  }

  function formatCZDate(d){
    return d.getDate()+'. '+(d.getMonth()+1)+'. '+d.getFullYear();
  }

  function defaultAfternoonTimes(){
    return ['14:00','14:15','14:30','14:45','15:00','15:15','15:30','15:45','16:00','16:15','16:30','16:45','17:00','17:15','17:30','17:45','18:00'];
  }

  function appointmentsForDate(dateIso){
    return assignedAppointmentsCache.filter(function(a){return a.date===dateIso});
  }

  function timesForDate(dateIso){
    var rules=ruleForDate(dateIso), out=[];
    rules.forEach(function(r){
      var a=r.from.split(':').map(Number), b=r.to.split(':').map(Number);
      for(var m=a[0]*60+a[1];m<b[0]*60+b[1];m+=15){
        out.push(pad2(Math.floor(m/60))+':'+pad2(m%60));
      }
    });
    appointmentsForDate(dateIso).forEach(function(a){
      if(a.time && out.indexOf(a.time)===-1) out.push(a.time);
    });
    return Array.from(new Set(out)).sort();
  }

  function renderWeekTabs(){
    var tabs=document.getElementById('summus-day-tabs');
    var label=document.getElementById('summus-week-label');
    if(!tabs) return;

    var names=['PO','ÚT','ST','ČT','PÁ'];
    var friday=addDays(weekStart,4);
    if(label) label.textContent=formatCZDate(weekStart)+' – '+formatCZDate(friday);

    tabs.innerHTML='';
    for(var i=0;i<5;i++){
      var d=addDays(weekStart,i), b=document.createElement('button');
      b.type='button';
      b.className='summus-day-tab'+(i===selectedDayOffset?' active':'')+(isoDate(d)===isoDate(new Date())?' today':'');
      b.innerHTML='<strong>'+names[i]+'</strong><span>'+d.getDate()+'. '+(d.getMonth()+1)+'.</span>';
      (function(offset){
        b.addEventListener('click',function(){selectedDayOffset=offset;renderDayPlanner();renderWeekTabs()});
      })(i);
      tabs.appendChild(b);
    }
  }

  function buildDoctorPanel(rule,dateIso){
    var panel=document.createElement('section');
    panel.className='summus-doctor-panel';

    var head=document.createElement('div');
    head.className='summus-doctor-panel-head '+doctorClass(rule.name);
    head.innerHTML='<b>'+escapeHtml(rule.name)+'</b><span>'+escapeHtml(rule.from)+'–'+escapeHtml(rule.to)+'</span>';
    panel.appendChild(head);

    var slots=document.createElement('div');
    slots.className='summus-doctor-slots';

    var a=rule.from.split(':').map(Number), b=rule.to.split(':').map(Number);
    for(var m=a[0]*60+a[1];m<b[0]*60+b[1];m+=15){
      var time=pad2(Math.floor(m/60))+':'+pad2(m%60);
      var row=document.createElement('div');
      row.className='summus-day-slot';
      row.innerHTML='<div class="summus-day-time">'+time+'</div>';

      var appt=appointmentsForDate(dateIso).find(function(x){return x.time===time});
      if(appt){
        row.appendChild(appointmentNode(appt));
      }else{
        row.appendChild(freeSlotHtml(dateIso,time));
      }
      slots.appendChild(row);
    }

    panel.appendChild(slots);
    return panel;
  }

  function applyReservedTails(dateIso){
    var planner=document.getElementById('summus-day-planner');
    if(!planner) return;
    appointmentsForDate(dateIso).forEach(function(a){
      var duration=examDuration(a.exam), steps=Math.ceil(duration/15);
      for(var i=1;i<steps;i++){
        var t=addMinutesToTime(a.time,i*15);
        var zone=planner.querySelector('.summus-drop-zone[data-date="'+dateIso+'"][data-time="'+t+'"]');
        if(zone){
          var row=zone.closest('.summus-day-slot');
          if(row){
            row.classList.add('reserved-tail');
            zone.textContent='obsazeno předchozím vyšetřením';
          }
        }
      }
    });
  }

  function renderDayPlanner(){
    var planner=document.getElementById('summus-day-planner');
    if(!planner) return;
    var date=addDays(weekStart,selectedDayOffset), dateIso=isoDate(date);
    var rules=ruleForDate(dateIso);

    planner.innerHTML='';
    if(!rules.length){
      planner.innerHTML='<div class="summus-no-shifts">Pro tento den není zadaná ordinace.<br><button type="button" class="btn secondary summus-open-doctor-settings">+ TERMÍNY LÉKAŘŮ</button></div>'; bindDoctorOpeners();
      return;
    }

    rules.forEach(function(rule){
      planner.appendChild(buildDoctorPanel(rule,dateIso));
    });

    applyReservedTails(dateIso);
    bindAll();
  }

  function renderWeekCalendar(){
    renderWeekTabs();
    renderDayPlanner();
  }

  function changeWeek(days){
    weekStart=addDays(weekStart,days);
    renderWeekCalendar();
  }

  function freeSlotHtml(date,time){
    var d=document.createElement('div');
    d.className='free summus-drop-zone';
    d.setAttribute('data-date',date);
    d.setAttribute('data-time',time);
    d.textContent='+ Volný termín — přetáhni klienta sem';
    return d;
  }

  function statusClass(status){ return status==='UHRAZENO' ? ' sent' : ''; }

  function examDuration(exam){
    var x=(exam||'').toLowerCase();
    if(x.indexOf('klid')>=0 || x.indexOf('ekg')>=0) return 15;
    return 30;
  }
  function addMinutesToTime(time,mins){
    var p=time.split(':').map(Number),m=p[0]*60+p[1]+mins;
    return pad2(Math.floor(m/60))+':'+pad2(m%60);
  }
  function appointmentAt(date,time,ignoreId){
    return assignedAppointmentsCache.find(function(a){
      return a.date===date && a.time===time && String(a.submission_id)!==String(ignoreId||'');
    });
  }
  function canFitAppointment(date,time,duration,ignoreId){
    var steps=Math.ceil(duration/15);
    for(var i=0;i<steps;i++){
      var t=addMinutesToTime(time,i*15);
      var z=document.querySelector('.summus-drop-zone[data-date="'+date+'"][data-time="'+t+'"]');
      if(!z || appointmentAt(date,t,ignoreId)) return false;
    }
    return true;
  }
  function highlightValidDrops(current){
    var duration=examDuration(current.exam);
    document.querySelectorAll('.summus-drop-zone').forEach(function(z){
      var ok=canFitAppointment(z.dataset.date,z.dataset.time,duration,current.submissionId);
      z.classList.toggle('summus-valid-drop',ok);
      z.classList.toggle('summus-invalid-drop',!ok);
    });
  }
  function appointmentNode(a){
    var d=document.createElement('div');
    d.className='appt summus-assigned';
    d.setAttribute('draggable','true');
    d.setAttribute('data-submission-id',a.submission_id);
    d.setAttribute('data-client-name',a.name||'Klient');
    d.setAttribute('data-sport',a.sport||'');
    d.setAttribute('data-exam',a.exam||'');
    d.setAttribute('data-date',a.date||'');
    d.setAttribute('data-time',a.time||'');
    d.setAttribute('data-status',a.status||'TERMÍN NEODESLÁN');

    var durationText='cca '+examDuration(a.exam)+' min';
    var meta=[a.exam,durationText].filter(Boolean).join(' | ');
    d.innerHTML=
      '<div class="assigned-head"><b>'+escapeHtml(a.name||'Klient')+'</b><span><span class="summus-duration-badge">'+examDuration(a.exam)+' min</span> <span class="move-hint">↕</span></span></div>'+
      '<div class="meta">'+escapeHtml(meta)+'</div>'+
      '<div class="appt-status'+statusClass(a.status)+'">'+escapeHtml(a.status||'TERMÍN NEODESLÁN')+'</div>'+
      '<div class="appt-actions">'+
        '<button class="send-term-btn" type="button">'+(a.status==='TERMÍN ODESLÁN'?'ODESLAT ZNOVU':'ODESLAT TERMÍN')+'</button>'+
        '<button class="detail-term-btn" type="button">DETAIL</button>'+'<button class="reschedule-term-btn" type="button">PŘESUNOUT TERMÍN</button>'+
        '<button class="reminder-term-btn" type="button">ODESLAT PŘIPOMÍNKU</button>'+
        '<button class="return-term-btn" type="button" title="Vrátit do nevyřízených" aria-label="Vrátit do nevyřízených">↶</button>'+
      '</div>';

    bindAssignedCard(d);
    return d;
  }
  function bindNewRequestCard(card){
    // INDEX 38: karta s existujícím termínem nepatří do fronty žádostí
    if(card && card.getAttribute('data-has-appointment')==='1'){
      card.setAttribute('draggable','false');
      return;
    }
    if(!card.querySelector('.summus-request-detail-btn')){
      var detailBtn=document.createElement('button');
      detailBtn.type='button';
      detailBtn.className='summus-request-detail-btn';
      detailBtn.textContent='◉'; detailBtn.setAttribute('title','Detail klienta'); detailBtn.setAttribute('aria-label','Detail klienta');
      detailBtn.addEventListener('click',function(e){
        e.preventDefault();
        e.stopPropagation();
        openClientDetail(card.getAttribute('data-submission-id'));
      });
      var main=card.querySelector('.summus-live-main') || card;
      var assignBtn=document.createElement('button');
      assignBtn.type='button';
      assignBtn.className='summus-request-assign-btn';
      assignBtn.textContent='PŘIŘADIT TERMÍN';
      assignBtn.addEventListener('click',function(e){
        e.preventDefault();e.stopPropagation();summus16SelectClient(card);
      });
      main.appendChild(assignBtn);
      main.appendChild(detailBtn);
    }

    if(card.dataset.dragBound==='1') return;
    card.dataset.dragBound='1';
    card.setAttribute('draggable','true');

    card.addEventListener('dblclick',function(e){
      if(e.target.closest('button')) return;
      openClientDetail(card.getAttribute('data-submission-id'));
    });

    card.addEventListener('dragstart',function(e){
      if(e.target.closest('button')){e.preventDefault();return}
      dragged={
        type:'new',
        node:card,
        submissionId:card.getAttribute('data-submission-id'),
        name:card.getAttribute('data-client-name')||'Klient',
        sport:card.getAttribute('data-sport')||'',
        exam:card.getAttribute('data-exam')||'',
        status:'TERMÍN NEODESLÁN'
      };
      document.body.classList.add('summus-drag-active');
      highlightValidDrops(dragged);
      card.classList.add('dragging');
      if(e.dataTransfer){
        e.dataTransfer.effectAllowed='move';
        e.dataTransfer.setData('text/plain',dragged.submissionId);
      }
    });

    card.addEventListener('dragend',function(){
      document.body.classList.remove('summus-drag-active');
      card.classList.remove('dragging');
      clearDragVisuals();
    });
  }

  function bindAssignedCard(card){
    if(card.dataset.dragBound!=='1'){
      card.dataset.dragBound='1';

      card.addEventListener('dragstart',function(e){
        if(e.target.closest('button')){e.preventDefault();return}
        dragged={
          type:'assigned',
          node:card,
          submissionId:card.getAttribute('data-submission-id'),
          name:card.getAttribute('data-client-name')||'Klient',
          sport:card.getAttribute('data-sport')||'',
          exam:card.getAttribute('data-exam')||'',
          status:card.getAttribute('data-status')||'TERMÍN NEODESLÁN',
          oldDate:card.getAttribute('data-date'),
          oldTime:card.getAttribute('data-time')
        };
        document.body.classList.add('summus-drag-active');
        highlightValidDrops(dragged);
        card.classList.add('dragging');
        if(e.dataTransfer){
          e.dataTransfer.effectAllowed='move';
          e.dataTransfer.setData('text/plain',dragged.submissionId);
        }
      });

      card.addEventListener('dragend',function(){
        document.body.classList.remove('summus-drag-active');
        card.classList.remove('dragging');
        clearDragVisuals();
      });
    }

    var send=card.querySelector('.send-term-btn');
    if(send && send.dataset.bound!=='1'){
      send.dataset.bound='1';
      send.addEventListener('click',function(e){
        e.preventDefault(); e.stopPropagation(); sendAppointment(card);
      });
    }

    var reschedule=card.querySelector('.reschedule-term-btn');
    if(reschedule && reschedule.dataset.bound!=='1'){
      reschedule.dataset.bound='1';
      reschedule.addEventListener('click',function(e){
        e.preventDefault();e.stopPropagation();
        dragged={type:'assigned',node:card,submissionId:card.dataset.submissionId,name:card.dataset.clientName||'Klient',sport:card.dataset.sport||'',exam:card.dataset.exam||'',status:card.dataset.status||'',oldDate:card.dataset.date,oldTime:card.dataset.time};
        highlightValidDrops(dragged);
        var b=document.getElementById('summus-reschedule-banner'),t=document.getElementById('summus-reschedule-text');
        if(t)t.textContent='Přesun: '+dragged.name+' · '+examDuration(dragged.exam)+' min – klikni na zelený termín.';
        if(b)b.classList.add('show');
      });
    }

    var reminder=card.querySelector('.reminder-term-btn');
    if(reminder && reminder.dataset.bound!=='1'){
      reminder.dataset.bound='1';
      reminder.addEventListener('click',function(e){
        e.preventDefault(); e.stopPropagation();
        var cfg=getConfig(); if(!cfg){toast('Chybí SUMMUS Connector konfigurace.',true);return}
        var original=reminder.textContent;
        reminder.disabled=true; reminder.textContent='ODESÍLÁM…';
        var fd=new FormData();
        fd.append('action','summus_test_reminder');
        fd.append('nonce',cfg.getAttribute('data-nonce'));
        fd.append('submission_id',card.getAttribute('data-submission-id'));
        fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
          .then(function(r){return r.json()})
          .then(function(resp){
            if(!resp.success) throw new Error(resp.data&&resp.data.message?resp.data.message:'Připomínku se nepodařilo odeslat.');
            reminder.textContent='✓ ODESLÁNO';
            toast('Připomínka byla odeslána.');
            setTimeout(function(){reminder.textContent=original;reminder.disabled=false;},3500);
          })
          .catch(function(err){toast(err.message,true);reminder.textContent=original;reminder.disabled=false;});
      });
    }

    var detail=card.querySelector('.detail-term-btn');
    if(detail && detail.dataset.bound!=='1'){
      detail.dataset.bound='1';
      detail.addEventListener('click',function(e){
        e.preventDefault(); e.stopPropagation();
        openClientDetail(card.getAttribute('data-submission-id'));
      });
    }

    var ret=card.querySelector('.return-term-btn');
    if(ret && ret.dataset.bound!=='1'){
      ret.dataset.bound='1';
      ret.addEventListener('click',function(e){
        e.preventDefault(); e.stopPropagation();
        returnToUnassigned(card);
      });
    }
  }

  function bindDropZone(zone){
    if(zone.dataset.dropBound==='1') return;
    zone.addEventListener('click',function(){
      var b=document.getElementById('summus-reschedule-banner');
      if(dragged && dragged.type==='assigned' && b && b.classList.contains('show')){
        if(!zone.classList.contains('summus-valid-drop')){toast('Tento termín není pro vyšetření dostatečně dlouhý.',true);return}
        saveAppointment(zone,zone.dataset.date,zone.dataset.time); b.classList.remove('show');
      }
    });
    zone.dataset.dropBound='1';

    zone.addEventListener('dragover',function(e){
      e.preventDefault();
      if(zone.classList.contains('summus-invalid-drop')){
        if(e.dataTransfer) e.dataTransfer.dropEffect='none';
        return;
      }
      zone.classList.add('drag-over');
      var hint=zone.querySelector('.summus-drop-hover-hint');
      if(!hint){
        hint=document.createElement('span');
        hint.className='summus-drop-hover-hint';
        zone.appendChild(hint);
      }
      hint.textContent='PUSŤ SEM · '+(zone.getAttribute('data-time')||'');
      if(e.dataTransfer) e.dataTransfer.dropEffect='move';
    });
    zone.addEventListener('dragleave',function(){
      zone.classList.remove('drag-over');
      var hint=zone.querySelector('.summus-drop-hover-hint');
      if(hint) hint.remove();
    });
    zone.addEventListener('drop',function(e){
      e.preventDefault();
      zone.classList.remove('drag-over');
      if(!dragged){toast('Klient nebyl rozpoznán.',true);return}

      var newDate=zone.getAttribute('data-date');
      var newTime=zone.getAttribute('data-time');

      if(dragged.type==='assigned' && dragged.oldDate===newDate && dragged.oldTime===newTime){
        toast('Klient už je na tomto termínu.');
        return;
      }
      saveAppointment(zone,newDate,newTime);
    });
  }

  function clearDragVisuals(){
    document.querySelectorAll('.summus-drop-zone').forEach(function(z){
      z.classList.remove('drag-over','summus-valid-drop','summus-invalid-drop');
      var hint=z.querySelector('.summus-drop-hover-hint');
      if(hint) hint.remove();
    });
  }

  function summus35RecountVisibleRequests(){
    var cards=Array.from(document.querySelectorAll('#summus-live-target .summus-live-card'))
      .filter(function(c){return c.getAttribute('data-has-appointment')!=='1';});

    var allBtn=document.querySelector('#summus-month-filters .summus-month-filter[data-month=""]');
    if(allBtn) allBtn.textContent='VŠE '+cards.length;

    var pill=document.getElementById('live-request-pill');
    if(pill) pill.textContent=cards.length+(cards.length===1?' NOVÁ':' NOVÝCH');

    var nav=document.getElementById('live-nav-count');
    if(nav) nav.textContent=cards.length;

    document.querySelectorAll('#summus-month-filters .summus-month-filter[data-month]:not([data-month=""])')
      .forEach(function(btn){
        var month=(btn.getAttribute('data-month')||'').toLowerCase();
        var n=cards.filter(function(c){
          var txt=(c.textContent||'').toLowerCase();
          return txt.indexOf(month)>=0;
        }).length;
        var label=(btn.getAttribute('data-month')||'').toUpperCase();
        btn.textContent=label+' '+n;
      });
  }

  function summus36RecountCards(){
    var allCards=Array.from(document.querySelectorAll('#summus-live-target .summus-live-card'));
    var newCards=allCards.filter(function(c){
      return c.getAttribute('data-has-appointment')!=='1';
    });

    var allBtn=document.querySelector('#summus-month-filters .summus-month-filter[data-month=""]');
    if(allBtn) allBtn.textContent='VŠE '+allCards.length;

    var pill=document.getElementById('live-request-pill');
    if(pill) pill.textContent=newCards.length+(newCards.length===1?' NOVÁ':' NOVÝCH');

    var nav=document.getElementById('live-nav-count');
    if(nav) nav.textContent=newCards.length;
  }

  function bindAll(){
    document.querySelectorAll('#summus-live-target .summus-live-card').forEach(bindNewRequestCard);
    summus36RecountCards();
    document.querySelectorAll('.summus-drop-zone').forEach(bindDropZone);
    document.querySelectorAll('.summus-assigned').forEach(bindAssignedCard);
  }

  function postForm(cfg,fd){
    return fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
      .then(function(r){return r.json()});
  }

  function rescheduleAssignedOnServer(cfg,current,newDate,newTime){
    var release=new FormData();
    release.append('action','summus_return_test_unassigned');
    release.append('nonce',cfg.getAttribute('data-nonce'));
    release.append('submission_id',current.submissionId);

    return postForm(cfg,release).then(function(rel){
      if(!rel.success) throw new Error(rel.data&&rel.data.message?rel.data.message:'Původní termín se nepodařilo uvolnit.');

      var assign=new FormData();
      assign.append('action','summus_assign_test_appointment');
      assign.append('nonce',cfg.getAttribute('data-nonce'));
      assign.append('submission_id',current.submissionId);
      assign.append('appointment_date',newDate);
      assign.append('appointment_time',newTime);

      return postForm(cfg,assign).then(function(resp){
        if(resp.success) return resp;

        /* bezpečnost: pokud nový termín selže, zkusíme automaticky obnovit původní */
        var restore=new FormData();
        restore.append('action','summus_assign_test_appointment');
        restore.append('nonce',cfg.getAttribute('data-nonce'));
        restore.append('submission_id',current.submissionId);
        restore.append('appointment_date',current.oldDate);
        restore.append('appointment_time',current.oldTime);

        return postForm(cfg,restore).then(function(){
          throw new Error(resp.data&&resp.data.message?resp.data.message:'Nový termín se nepodařilo uložit.');
        });
      });
    });
  }

  function saveAppointment(zone,newDate,newTime){
    var cfg=getConfig();
    if(!cfg){toast('Chybí SUMMUS Connector konfigurace.',true);return}

    var current=dragged;
    var duration=examDuration(current.exam);
    if(!canFitAppointment(newDate,newTime,duration,current.submissionId)){
      toast('Sem se '+duration+'min vyšetření nevejde.',true); return;
    }
    var originalZoneText=zone.textContent;
    zone.textContent='Ukládám termín…';

    var fd=new FormData();
    fd.append('action','summus_assign_test_appointment');
    fd.append('nonce',cfg.getAttribute('data-nonce'));
    fd.append('submission_id',current.submissionId);
    fd.append('appointment_date',newDate);
    fd.append('appointment_time',newTime);

    var savePromise = current.type==='assigned'
      ? rescheduleAssignedOnServer(cfg,current,newDate,newTime)
      : postForm(cfg,fd);

    savePromise
    .then(function(resp){
      if(!resp.success) throw new Error(resp.data&&resp.data.message?resp.data.message:'Termín se nepodařilo uložit.');

      assignedAppointmentsCache=assignedAppointmentsCache.filter(function(a){
        return String(a.submission_id)!==String(current.submissionId);
      });

      assignedAppointmentsCache.push({
        submission_id:current.submissionId,
        name:current.name,
        sport:current.sport,
        exam:current.exam,
        status:current.status||'TERMÍN NEODESLÁN',
        date:newDate,
        time:newTime
      });
      if(zone && zone.dataset && zone.dataset.doctor){
        summus16SaveAppointmentDoctor(current.submissionId,zone.dataset.doctor);
      }

      if(current.type==='new' && current.node && current.node.parentNode){
        current.node.remove();
        updateCounts();
      }

      dragged=null;
      document.body.classList.remove('summus-drag-active');
      renderDayPlanner();
      renderWeekTabs();
      toast('Termín byl uložen.');
    })
    .catch(function(err){
      zone.textContent=originalZoneText;
      toast(err.message||'Chyba při ukládání.',true);
    });
  }

  function sendAppointment(card){
    var cfg=getConfig();
    if(!cfg){toast('Chybí SUMMUS Connector konfigurace.',true);return}

    var btn=card.querySelector('.send-term-btn');
    var original=btn.textContent;

    if(!confirm('Odeslat klientovi tento termín e-mailem?')) return;

    btn.disabled=true; btn.textContent='ODESÍLÁM…';

    var fd=new FormData();
    fd.append('action','summus_send_test_appointment');
    fd.append('nonce',cfg.getAttribute('data-nonce'));
    fd.append('submission_id',card.getAttribute('data-submission-id'));

    fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
    .then(function(r){return r.json()})
    .then(function(resp){
      if(!resp.success) throw new Error(resp.data&&resp.data.message?resp.data.message:'E-mail se nepodařilo odeslat.');

      var newStatus=(resp.data&&resp.data.status)?resp.data.status:'ČEKÁ NA ÚHRADU';
      card.setAttribute('data-status',newStatus);
      assignedAppointmentsCache.forEach(function(a){
        if(String(a.submission_id)===String(card.getAttribute('data-submission-id'))) a.status=newStatus;
      });
      var s=card.querySelector('.appt-status');
      if(s){s.textContent=newStatus;s.classList.toggle('sent',newStatus==='UHRAZENO')}
      btn.textContent='ODESLAT ZNOVU';
      toast('Termín byl odeslán klientovi.');
    })
    .catch(function(err){btn.textContent=original;toast(err.message||'Chyba při odesílání.',true)})
    .finally(function(){btn.disabled=false});
  }

  function returnToUnassigned(card){
    var cfg=getConfig();
    if(!cfg){toast('Chybí SUMMUS Connector konfigurace.',true);return}

    if(!confirm('Vrátit klienta zpět do nevyřízených žádostí?')) return;

    var submissionId=card.getAttribute('data-submission-id');
    var oldDate=card.getAttribute('data-date');
    var oldTime=card.getAttribute('data-time');

    var fd=new FormData();
    fd.append('action','summus_return_test_unassigned');
    fd.append('nonce',cfg.getAttribute('data-nonce'));
    fd.append('submission_id',submissionId);

    fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
    .then(function(r){return r.json()})
    .then(function(resp){
      if(!resp.success) throw new Error(resp.data&&resp.data.message?resp.data.message:'Nepodařilo se vrátit klienta.');

      assignedAppointmentsCache=assignedAppointmentsCache.filter(function(a){
        return String(a.submission_id)!==String(submissionId);
      });
      renderWeekCalendar();
      toast('Klient byl vrácen do nevyřízených.');
      setTimeout(function(){window.location.reload()},450);
    })
    .catch(function(err){toast(err.message||'Chyba při vrácení klienta.',true)});
  }

  function openClientDetail(submissionId){
    var cfg=getConfig();
    if(!cfg){toast('Chybí SUMMUS Connector konfigurace.',true);return}

    var modal=document.getElementById('client-detail-modal');
    modal.classList.add('show');
    document.getElementById('client-detail-name').textContent='Načítám…';

    var fd=new FormData();
    fd.append('action','summus_get_test_client_detail');
    fd.append('nonce',cfg.getAttribute('data-nonce'));
    fd.append('submission_id',submissionId);

    fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
    .then(function(r){return r.json()})
    .then(function(resp){
      if(!resp.success) throw new Error(resp.data&&resp.data.message?resp.data.message:'Detail se nepodařilo načíst.');

      var c=resp.data.client||{};
      document.getElementById('client-detail-name').textContent=c.name||'Klient';
      document.getElementById('client-detail-phone').textContent=c.phone||'—';
      document.getElementById('client-detail-email').textContent=c.email||'—';
      document.getElementById('client-detail-birth').textContent=c.birth_year||'—';
      document.getElementById('client-detail-sport').textContent=c.sport||'—';
      document.getElementById('client-detail-exam').textContent=c.exam||'—';
      document.getElementById('client-detail-message').textContent=c.message||'—';
      document.getElementById('client-detail-month').textContent=c.month||'—';
      document.getElementById('client-detail-id').textContent='ID '+(c.id||submissionId)+' · '+(c.created_at||'');
    })
    .catch(function(err){
      document.getElementById('client-detail-name').textContent='Chyba';
      toast(err.message||'Detail se nepodařilo načíst.',true);
    });
  }

  function syncPayments(){
    var cfg=getConfig(); if(!cfg) return Promise.resolve();
    var fd=new FormData();
    fd.append('action','summus_sync_all_test_payments');
    fd.append('nonce',cfg.getAttribute('data-nonce'));
    return fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
      .then(function(r){return r.json()}).catch(function(){});
  }

  function embedLiveRequests(){
    var target=document.getElementById('summus-live-target');
    var liveBox=document.querySelector('.summus-live-box');
    if(!target || !liveBox || target.contains(liveBox)) return false;

    var sourceWidget=liveBox.closest('.elementor-widget-shortcode');
    target.innerHTML='';
    target.appendChild(liveBox);
    if(sourceWidget) sourceWidget.style.display='none';

    bindAll();
    updateCounts();
    return true;
  }

  function loadAssignedAppointments(){
    var cfg=getConfig();
    if(!cfg){renderWeekCalendar();return}

    var fd=new FormData();
    fd.append('action','summus_get_test_appointments');
    fd.append('nonce',cfg.getAttribute('data-nonce'));

    fetch(cfg.getAttribute('data-ajax-url'),{method:'POST',credentials:'same-origin',body:fd})
    .then(function(r){return r.json()})
    .then(function(resp){
      if(!resp.success || !resp.data || !resp.data.appointments){
        toast('Nepodařilo se načíst obsazené termíny z Connectoru.',true);
        renderWeekCalendar();
        return;
      }
      assignedAppointmentsCache=resp.data.appointments.slice();
      renderWeekCalendar();
      summus16RenderMonth();
      summus16RenderAgenda();
    })
    .catch(function(err){
      toast('Chyba načtení obsazených termínů.',true);
      renderWeekCalendar();
    });
  }


  function doctorClass(name){
    if(name.indexOf('Mlynárik')>=0) return 'mlynarik';
    if(name.indexOf('Štolba')>=0) return 'stolba';
    return 'vomacka';
  }
  function loadDoctorRules(){try{return JSON.parse(localStorage.getItem('summusDoctorRules')||'[]')}catch(e){return[]}}
  function saveDoctorRules(r){localStorage.setItem('summusDoctorRules',JSON.stringify(r))}

  function summus37DayLabel(day){
    var map={1:'Pondělí',2:'Úterý',3:'Středa',4:'Čtvrtek',5:'Pátek'};
    return map[Number(day)]||('Den '+day);
  }

  function summus37RuleHasAppointments(rule){
    if(!rule) return false;
    var from=String(rule.dateFrom||'');
    var to=String(rule.dateTo||'');
    var dow=Number(rule.day);
    return assignedAppointmentsCache.some(function(a){
      if(!a || !a.date) return false;
      if(a.date<from || a.date>to) return false;
      var d=new Date(a.date+'T12:00:00');
      return d.getDay()===dow;
    });
  }

  function renderDoctorRulesList(){
    var list=document.getElementById('summus-doctor-rules-list');
    if(!list) return;

    var rules=loadDoctorRules();
    list.innerHTML='';

    if(!rules.length){
      list.innerHTML='<div class="summus-doctor-rules-empty">Nejsou uloženy žádné termíny lékařů.</div>';
      return;
    }

    rules.forEach(function(rule,index){
      var row=document.createElement('div');
      row.className='summus-doctor-rule-row';

      var main=document.createElement('div');
      main.className='summus-doctor-rule-main';
      main.innerHTML=
        '<div class="summus-doctor-rule-name">'+escapeHtml(rule.name||'Lékař')+'</div>'+
        '<div class="summus-doctor-rule-meta">'+
          escapeHtml(summus37DayLabel(rule.day))+' · '+
          escapeHtml(rule.from||'')+'–'+escapeHtml(rule.to||'')+
          ' · '+escapeHtml(rule.dateFrom||'')+' → '+escapeHtml(rule.dateTo||'')+
        '</div>';

      var del=document.createElement('button');
      del.type='button';
      del.className='summus-doctor-rule-delete';
      del.textContent='SMAZAT';
      del.setAttribute('title','Smazat termíny lékaře');

      del.addEventListener('click',function(){
        if(summus37RuleHasAppointments(rule)){
          toast('Tento termín lékaře obsahuje objednané klienty. Nejdřív klienty přesuň nebo vrať do nevyřízených.',true);
          return;
        }

        var ok=window.confirm(
          'Opravdu smazat termíny?\\n\\n'+
          (rule.name||'Lékař')+'\\n'+
          summus37DayLabel(rule.day)+' '+(rule.from||'')+'–'+(rule.to||'')+'\\n'+
          (rule.dateFrom||'')+' až '+(rule.dateTo||'')
        );
        if(!ok) return;

        var fresh=loadDoctorRules();
        fresh.splice(index,1);
        saveDoctorRules(fresh);
        renderDoctorRulesList();
        renderWeekCalendar();
        summus16RenderMonth();
        summus16RenderAgenda();
        toast('Termíny lékaře byly smazány.');
      });

      row.appendChild(main);
      row.appendChild(del);
      list.appendChild(row);
    });
  }

  function ruleForDate(dateIso){
    var d=new Date(dateIso+'T12:00:00'), dow=d.getDay();
    return loadDoctorRules().filter(function(r){return Number(r.day)===dow && dateIso>=r.dateFrom && dateIso<=r.dateTo});
  }


  function normalizeMonthName(text){
    var months=['leden','únor','březen','duben','květen','červen','červenec','srpen','září','říjen','listopad','prosinec'];
    text=(text||'').toLowerCase();
    for(var i=0;i<months.length;i++){if(text.indexOf(months[i])>=0)return months[i]}
    return '';
  }

  function rebuildMonthFilters(){
    var wrap=document.getElementById('summus-month-filters');
    if(!wrap) return;

    var cards=Array.from(document.querySelectorAll('#summus-live-target .summus-live-card'));
    var counts={};
    cards.forEach(function(card){
      card.style.display='';
      var month=normalizeMonthName(card.textContent);
      if(month) counts[month]=(counts[month]||0)+1;
    });

    var order=['leden','únor','březen','duben','květen','červen','červenec','srpen','září','říjen','listopad','prosinec'];
    var labels={'leden':'LEDEN','únor':'ÚNOR','březen':'BŘEZEN','duben':'DUBEN','květen':'KVĚTEN','červen':'ČERVEN','červenec':'ČERVENEC','srpen':'SRPEN','září':'ZÁŘÍ','říjen':'ŘÍJEN','listopad':'LISTOPAD','prosinec':'PROSINEC'};

    wrap.innerHTML='';

    var all=document.createElement('button');
    all.className='summus-month-filter active';
    all.setAttribute('data-month','');
    all.textContent='VŠE '+cards.length;
    wrap.appendChild(all);

    order.forEach(function(month){
      var b=document.createElement('button');
      b.className='summus-month-filter';
      b.setAttribute('data-month',month);
      b.textContent=labels[month]+' '+(counts[month]||0);
      wrap.appendChild(b);
    });

    wrap.querySelectorAll('.summus-month-filter').forEach(function(btn){
      btn.addEventListener('click',function(){
        wrap.querySelectorAll('.summus-month-filter').forEach(function(b){b.classList.remove('active')});
        btn.classList.add('active');
        var wanted=btn.getAttribute('data-month');
        cards.forEach(function(card){
          card.style.display=(!wanted || normalizeMonthName(card.textContent)===wanted) ? '' : 'none';
        });
      });
    });
  }

  function bindDoctorOpeners(){
    var modal=document.getElementById('summus-doctor-modal');
    document.querySelectorAll('.summus-open-doctor-settings').forEach(function(open){
      if(open.dataset.doctorBound==='1') return;
      open.dataset.doctorBound='1';
      open.addEventListener('click',function(e){
        e.preventDefault(); e.stopPropagation();
        renderDoctorRulesList();
        if(modal) modal.classList.add('open');
      });
    });
  }

  function initIndex12Tools(){
    var modal=document.getElementById('summus-doctor-modal');
    bindDoctorOpeners();
    var cancel=document.getElementById('doc-cancel'); if(cancel) cancel.onclick=function(){if(modal) modal.classList.remove('open')};
    var save=document.getElementById('doc-save'); if(save) save.onclick=function(e){
      e.preventDefault();
      var r={
        name:document.getElementById('doc-name').value,
        day:document.getElementById('doc-day').value,
        from:document.getElementById('doc-from').value,
        to:document.getElementById('doc-to').value,
        dateFrom:document.getElementById('doc-date-from').value,
        dateTo:document.getElementById('doc-date-to').value
      };
      if(!r.dateFrom||!r.dateTo){toast('Vyber období platnosti.',true);return}
      if(!r.from||!r.to||r.from>=r.to){toast('Zkontroluj čas OD / DO.',true);return}
      var rules=loadDoctorRules();
      rules.push(r);
      saveDoctorRules(rules);
      renderDoctorRulesList();
      if(modal) modal.classList.remove('open');
      renderWeekCalendar();
      summus16RenderMonth();
      summus16RenderAgenda();
      toast('Termíny lékaře byly uloženy.');
    };
    rebuildMonthFilters();

    if(modal && modal.dataset.extraBound!=='1'){
      modal.dataset.extraBound='1';
      modal.addEventListener('click',function(e){if(e.target===modal)modal.classList.remove('open')});
      document.addEventListener('keydown',function(e){if(e.key==='Escape' && modal.classList.contains('open'))modal.classList.remove('open')});
    }
  }


  function summus16MonthName(d){
    var names=['Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec'];
    return names[d.getMonth()]+' '+d.getFullYear();
  }

  function summus16DoctorForAppointment(id){
    try{
      var m=JSON.parse(localStorage.getItem('summusAppointmentDoctors')||'{}');
      return m[String(id)]||'';
    }catch(e){return ''}
  }

  function summus16SaveAppointmentDoctor(id,name){
    try{
      var m=JSON.parse(localStorage.getItem('summusAppointmentDoctors')||'{}');
      m[String(id)]=name||'';
      localStorage.setItem('summusAppointmentDoctors',JSON.stringify(m));
    }catch(e){}
  }

  function summus16RulesForMonthDay(dateIso){
    return ruleForDate(dateIso);
  }

  function summus18DoctorCellClass(rules){
    var types={};
    (rules||[]).forEach(function(r){types[doctorClass(r.name)]=true});
    var m=!!types.mlynarik, s=!!types.stolba, v=!!types.vomacka;
    if(m&&s&&v) return 'doc-all';
    if(m&&s) return 'doc-mlynarik-stolba';
    if(m&&v) return 'doc-mlynarik-vomacka';
    if(s&&v) return 'doc-stolba-vomacka';
    if(m) return 'doc-mlynarik';
    if(s) return 'doc-stolba';
    if(v) return 'doc-vomacka';
    return '';
  }

  function summus16RenderMonth(){
    var grid=document.getElementById('summus16-month-grid');
    var title=document.getElementById('summus16-month-title');
    if(!grid) return;
    if(title) title.textContent=summus16MonthName(summus16MonthCursor);

    var y=summus16MonthCursor.getFullYear(), m=summus16MonthCursor.getMonth();
    var first=new Date(y,m,1,12,0,0);
    var start=getMonday(first);
    var todayIso=isoDate(new Date());

    grid.innerHTML='';
    for(var i=0;i<42;i++){
      var d=addDays(start,i), dateIso=isoDate(d);
      var b=document.createElement('button');
      b.type='button';
      b.className='summus16-day';
      if(d.getMonth()!==m)b.classList.add('outside');
      if(d.getDay()===0||d.getDay()===6)b.classList.add('weekend');
      if(dateIso===todayIso)b.classList.add('today');
      if(dateIso===summus16SelectedDate)b.classList.add('selected');

      var rules=summus16RulesForMonthDay(dateIso);
      var doctorCellClass=summus18DoctorCellClass(rules);
      if(doctorCellClass)b.classList.add(doctorCellClass);
      var appts=appointmentsForDate(dateIso);
      var dots='';
      var seen={};
      rules.forEach(function(r){
        var cls=doctorClass(r.name);
        if(!seen[cls]){dots+='<i class="summus16-dot '+cls+'"></i>';seen[cls]=1}
      });

      b.innerHTML=
        '<span class="summus16-day-number">'+d.getDate()+'</span>'+
        '<span class="summus16-day-bottom"><span class="summus16-dots">'+dots+'</span>'+
        (appts.length?'<span class="summus16-count">'+appts.length+'</span>':'')+
        '</span>';

      b.addEventListener('click',(function(di,iso){
        return function(){
          summus16SelectedDate=iso;
          if(di.getMonth()!==summus16MonthCursor.getMonth() || di.getFullYear()!==summus16MonthCursor.getFullYear()){
            summus16MonthCursor=new Date(di.getFullYear(),di.getMonth(),1,12,0,0);
          }
          summus16RenderMonth();
          summus16RenderAgenda();
        };
      })(new Date(d.getTime()),dateIso));
      grid.appendChild(b);
    }
  }

  function summus16DateTitle(dateIso){
    var d=new Date(dateIso+'T12:00:00');
    var days=['Neděle','Pondělí','Úterý','Středa','Čtvrtek','Pátek','Sobota'];
    return days[d.getDay()]+' '+d.getDate()+'. '+(d.getMonth()+1)+'. '+d.getFullYear();
  }

  function summus16RowRange(time,duration){
    return time+'–'+addMinutesToTime(time,duration);
  }

  function summus16AppointmentNode(a,range){
    var d=document.createElement('div');
    d.className='summus16-appt summus-assigned';
    d.setAttribute('draggable','true');
    d.dataset.submissionId=a.submission_id;
    d.dataset.clientName=a.name||'Klient';
    d.dataset.sport=a.sport||'';
    d.dataset.exam=a.exam||'';
    d.dataset.date=a.date||'';
    d.dataset.time=a.time||'';
    d.dataset.status=a.status||'TERMÍN NEODESLÁN';

    var paid=(a.status==='UHRAZENO');
    d.innerHTML=
      '<div class="summus16-appt-top"><b>'+escapeHtml(a.name||'Klient')+'</b><span class="summus-duration-badge">'+examDuration(a.exam)+' min</span></div>'+
      '<div class="summus16-appt-meta">'+escapeHtml(a.exam||'')+'</div>'+
      '<span class="summus16-appt-status'+(paid?' paid':'')+'">'+escapeHtml(a.status||'TERMÍN NEODESLÁN')+'</span>'+
      '<div class="summus16-appt-actions">'+
        '<button class="send-term-btn" type="button">ODESLAT TERMÍN</button>'+
        '<button class="detail-term-btn" type="button">DETAIL</button>'+
        '<button class="reschedule-term-btn" type="button">PŘESUNOUT</button>'+
        '<button class="reminder-term-btn" type="button">PŘIPOMÍNKA</button>'+
        '<button class="return-term-btn" type="button">VRÁTIT</button>'+
      '</div>';
    bindAssignedCard(d);
    return d;
  }

  function summus16FreeNode(dateIso,time,doctorName){
    var z=document.createElement('button');
    z.type='button';
    z.className='summus16-free summus-drop-zone';
    z.dataset.date=dateIso;
    z.dataset.time=time;
    z.dataset.doctor=doctorName||'';
    z.textContent='VOLNO';

    z.addEventListener('click',function(e){
      if(!summus16SelectedClient) return;
      e.preventDefault();
      var duration=examDuration(summus16SelectedClient.exam);
      if(!canFitAppointment(dateIso,time,duration,summus16SelectedClient.submissionId)){
        toast('Sem se '+duration+'min vyšetření nevejde.',true);return;
      }
      dragged=summus16SelectedClient;
      summus16SelectedClient.node=summus16SelectedClient.node||null;
      summus16SelectedClient.type=summus16SelectedClient.type||'new';
      z.dataset.selectedDoctor=doctorName||'';
      saveAppointment(z,dateIso,time);
      summus16SaveAppointmentDoctor(summus16SelectedClient.submissionId,doctorName||'');
      summus16ClearSelectedClient(false);
    });
    return z;
  }

  function summus16DoctorPanel(rule,dateIso,ruleIndex){
    var panel=document.createElement('section');
    panel.className='summus16-doctor';

    var head=document.createElement('div');
    head.className='summus16-doctor-head '+doctorClass(rule.name);
    head.innerHTML='<b>'+escapeHtml(rule.name)+'</b><span>'+escapeHtml(rule.from)+'–'+escapeHtml(rule.to)+'</span>';
    panel.appendChild(head);

    var rows=document.createElement('div');
    rows.className='summus16-rows';

    var dayAppts=appointmentsForDate(dateIso).slice().sort(function(a,b){return a.time.localeCompare(b.time)});
    var apptByTime={};
    dayAppts.forEach(function(a){
      // INDEX 38: denní přehled má vždy jen jednoho lékaře,
      // proto zobrazíme všechny rezervace vybraného dne v tomto panelu.
      // Tím nemůže vzniknout "skrytý" obsazený slot, který databáze blokuje.
      if(ruleIndex===0) apptByTime[a.time]=a;
    });

    var blocked={};
    Object.keys(apptByTime).forEach(function(t){
      var a=apptByTime[t], steps=Math.ceil(examDuration(a.exam)/15);
      for(var j=1;j<steps;j++) blocked[addMinutesToTime(t,j*15)]=true;
    });

    var aT=rule.from.split(':').map(Number), bT=rule.to.split(':').map(Number);
    for(var min=aT[0]*60+aT[1];min<bT[0]*60+bT[1];min+=15){
      var time=pad2(Math.floor(min/60))+':'+pad2(min%60);
      if(blocked[time]) continue;

      var appt=apptByTime[time];
      var row=document.createElement('div');
      row.className='summus16-row';

      if(appt){
        var duration=examDuration(appt.exam);
        row.innerHTML='<div class="summus16-time">'+summus16RowRange(time,duration)+'</div>';
        row.appendChild(summus16AppointmentNode(appt,summus16RowRange(time,duration)));
      }else{
        row.innerHTML='<div class="summus16-time">'+summus16RowRange(time,15)+'</div>';
        var free=summus16FreeNode(dateIso,time,rule.name);
        if(summus16SelectedClient){
          var ok=canFitAppointment(dateIso,time,examDuration(summus16SelectedClient.exam),summus16SelectedClient.submissionId);
          free.classList.add(ok?'assign-ready':'assign-no');
          free.textContent=ok?'VYBRAT TERMÍN':'NEVEJDE SE';
        }
        row.appendChild(free);
      }
      rows.appendChild(row);
    }

    panel.appendChild(rows);
    return panel;
  }

  function summus16RenderAgenda(){
    var agenda=document.getElementById('summus16-agenda');
    var title=document.getElementById('summus16-day-title');
    if(!agenda) return;
    if(title) title.textContent=summus16DateTitle(summus16SelectedDate);

    var rules=ruleForDate(summus16SelectedDate);
    agenda.innerHTML='';
    if(!rules.length){
      agenda.innerHTML='<div class="summus16-empty">Pro tento den není zadaná ordinace.<br><br><button type="button" class="btn secondary summus-open-doctor-settings">+ TERMÍNY LÉKAŘŮ</button></div>';
      bindDoctorOpeners();
      return;
    }

    // INDEX 38: Denní přehled je vždy pro jednoho lékaře.
    // Pokud by omylem existovalo více pravidel ve stejný den,
    // zobrazíme první ordinující pravidlo a kalendář zůstává beze změny.
    var dailyRule = rules[0];
    agenda.appendChild(summus16DoctorPanel(dailyRule,summus16SelectedDate,0));
    bindAll();
  }

  function summus16SelectClient(card){
    summus16SelectedClient={
      type:'new',
      node:card,
      submissionId:card.getAttribute('data-submission-id'),
      name:card.getAttribute('data-client-name')||'Klient',
      sport:card.getAttribute('data-sport')||'',
      exam:card.getAttribute('data-exam')||'',
      status:'TERMÍN NEODESLÁN'
    };
    var banner=document.getElementById('summus16-assign-banner');
    var name=document.getElementById('summus16-assign-name');
    var exam=document.getElementById('summus16-assign-exam');
    if(name)name.textContent=summus16SelectedClient.name;
    if(exam)exam.textContent=(summus16SelectedClient.exam||'')+' · '+examDuration(summus16SelectedClient.exam)+' min';
    if(banner)banner.classList.add('show');
    document.querySelectorAll('.summus-request-assign-btn').forEach(function(b){b.classList.remove('active');b.textContent='PŘIŘADIT TERMÍN'});
    var btn=card.querySelector('.summus-request-assign-btn');
    if(btn){btn.classList.add('active');btn.textContent='VYBRÁNO'}
    summus16RenderAgenda();
    var planner=document.querySelector('.summus-index16');
    if(planner)planner.scrollIntoView({behavior:'smooth',block:'start'});
  }

  function summus16ClearSelectedClient(render){
    summus16SelectedClient=null;
    var banner=document.getElementById('summus16-assign-banner');
    if(banner)banner.classList.remove('show');
    document.querySelectorAll('.summus-request-assign-btn').forEach(function(b){b.classList.remove('active');b.textContent='PŘIŘADIT TERMÍN'});
    if(render!==false)summus16RenderAgenda();
  }

  function summus16Init(){
    var prev=document.getElementById('summus16-month-prev');
    var next=document.getElementById('summus16-month-next');
    var today=document.getElementById('summus16-today');
    var cancel=document.getElementById('summus16-assign-cancel');

    if(prev)prev.onclick=function(){summus16MonthCursor=new Date(summus16MonthCursor.getFullYear(),summus16MonthCursor.getMonth()-1,1,12);summus16RenderMonth()};
    if(next)next.onclick=function(){summus16MonthCursor=new Date(summus16MonthCursor.getFullYear(),summus16MonthCursor.getMonth()+1,1,12);summus16RenderMonth()};
    if(today)today.onclick=function(){
      var d=new Date();summus16SelectedDate=isoDate(d);summus16MonthCursor=new Date(d.getFullYear(),d.getMonth(),1,12);
      summus16RenderMonth();summus16RenderAgenda();
    };
    if(cancel)cancel.onclick=function(){summus16ClearSelectedClient(true)};

    summus16RenderMonth();
    summus16RenderAgenda();
  }

  /* INDEX16 overrides old daily/week renderer */
  function renderWeekCalendar(){
    summus16RenderMonth();
    summus16RenderAgenda();
  }

  function renderDayPlanner(){
    summus16RenderAgenda();
  }

  function start(){
    bindAll();

    // INDEX 38: Connector shortcode může být na Elementor stránce vykreslen až po HTML widgetu.
    // Proto karty klientů hledáme opakovaně a po nalezení je vložíme do levého panelu.
    var liveMountTries=0;
    var liveMountTimer=setInterval(function(){
      liveMountTries++;
      if(embedLiveRequests()){
        clearInterval(liveMountTimer);

        // INDEX 38: KRITICKÁ OPRAVA
        // Po vložení Connector shortcode musíme okamžitě načíst skutečně obsazené termíny.
        // Ve starší verzi se shortcode vložil v prvním timeru, ale načtení appointments
        // čekalo na druhý timer, který už embedLiveRequests() vracel false.
        syncPayments().finally(function(){
          loadAssignedAppointments();
        });
      }else if(liveMountTries>=80){
        clearInterval(liveMountTimer);
      }
    },250);
    summus16Init();
    initIndex12Tools();

    // Po načtení živých žádostí vždy znovu vytvoř filtry a zobraz všechny karty.
    var monthRetry=0;
    var monthTimer=setInterval(function(){
      monthRetry++;
      var cards=document.querySelectorAll('#summus-live-target .summus-live-card');
      if(cards.length || monthRetry>20){
        cards.forEach(function(card){card.style.display=''});
        rebuildMonthFilters();
        updateCounts();
        clearInterval(monthTimer);
      }
    },250);

    var rc=document.getElementById('summus-reschedule-cancel');
    if(rc)rc.addEventListener('click',function(){dragged=null;clearDragVisuals();document.getElementById('summus-reschedule-banner').classList.remove('show')});
    var prev=document.getElementById('summus-week-prev');
    var next=document.getElementById('summus-week-next');
    var today=document.getElementById('summus-week-today');
    if(prev) prev.addEventListener('click',function(){changeWeek(-7)});
    if(next) next.addEventListener('click',function(){changeWeek(7)});
    if(today) today.addEventListener('click',function(){weekStart=getMonday(new Date());renderWeekCalendar()});

    // Auto-scroll while a client card is being dragged.
    document.addEventListener('dragover',function(e){
      if(!dragged) return;
      var edge=95;
      var speed=22;
      if(e.clientY < edge){
        window.scrollBy(0,-speed);
      }else if(e.clientY > window.innerHeight-edge){
        window.scrollBy(0,speed);
      }
    },{passive:true});

    renderWeekCalendar();

  }

  document.addEventListener('click',function(e){
    var modal=document.getElementById('client-detail-modal');
    if(e.target===modal) closeClientDetail();
  });

  if(document.readyState==='loading'){
    document.addEventListener('DOMContentLoaded',start);
  }else{start()}
})();
</script><div class="summus-doctor-modal" id="summus-doctor-modal">
  <div class="summus-doctor-box">
    <h3>Termíny lékařů</h3>
    <div class="summus-form-grid">
      <label>Lékař
        <select id="doc-name">
          <option>MUDr. Mlynárik Ivan</option>
          <option>MUDr. Štolba Pavel</option>
          <option>MUDr. Vomáčka Jakub</option>
        </select>
      </label>
      <label>Den
        <select id="doc-day">
          <option value="1">Pondělí</option>
          <option value="2">Úterý</option>
          <option value="3">Středa</option>
          <option value="4">Čtvrtek</option>
          <option value="5">Pátek</option>
        </select>
      </label>
      <label>Od
        <input type="time" id="doc-from" value="15:30" step="900">
      </label>
      <label>Do
        <input type="time" id="doc-to" value="18:00" step="900">
      </label>
      <label>Platí od
        <input type="date" id="doc-date-from">
      </label>
      <label>Platí do
        <input type="date" id="doc-date-to">
      </label>
    </div>
    <p class="meta">Interval je 15 minut. Uložené pravidlo se promítne do všech odpovídajících pracovních dnů v zadaném období.</p>

    <div class="summus-doctor-saved">
      <div class="summus-doctor-saved-title">ULOŽENÉ TERMÍNY LÉKAŘŮ</div>
      <div id="summus-doctor-rules-list"></div>
    </div>

    <div class="summus-modal-actions">
      <button type="button" class="btn secondary" id="doc-cancel">ZRUŠIT</button>
      <button type="button" class="btn primary" id="doc-save">ULOŽIT TERMÍNY</button>
    </div>
  </div>
</div></div><?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//www.summusvita.cz/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://www.summusvita.cz/post-sitemap.xml</loc>
		<lastmod>2020-11-19T20:43:05+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.summusvita.cz/page-sitemap.xml</loc>
		<lastmod>2026-08-27T08:50:24+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.summusvita.cz/category-sitemap.xml</loc>
		<lastmod>2020-11-19T20:43:05+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.summusvita.cz/author-sitemap.xml</loc>
		<lastmod>2023-05-24T10:12:41+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Yoast SEO -->