
.period-switch,.pair-switch{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.period-switch a,.pair-switch a{padding:.45rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;text-decoration:none;color:#243b53}.period-switch a.active,.pair-switch a.active{background:#3157d5;color:#fff;border-color:#3157d5}.weeks{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.week{display:flex;flex-direction:column}.week-heading{min-height:3.2rem}.board{height:100%;border:1px solid #cbd5e1;border-radius:.65rem;overflow:visible;background:#fff;color:#17324d}.board-title,.board-row{display:grid;grid-template-columns:105px repeat({{ vehicles|length }},minmax(150px,1fr))}.board-title>div{padding:.6rem;background:#e7eef5;border-right:1px solid #cbd5e1;color:#17324d;font-weight:700}.board-title small{display:block;color:#7890a5;font-weight:400;opacity:1}.day,.vehicle-day{min-height:70px;padding:.4rem;border-top:1px solid #dbe3eb;border-right:1px solid #dbe3eb}.day{background:#f7fafc;color:#17324d}.day.today{background:#dff5ef;border-left:4px solid #2fa184}.day strong,.day b{display:block}.vehicle-day{display:grid;grid-template-rows:1fr 1fr;gap:.25rem}.slot{position:relative;padding:.25rem;border-radius:.3rem;font-size:.78rem;color:#29465d}.slot.filled{background:#e8f8ef;border-left:4px solid #2fa184}.slot small{display:block;color:#44627a;font-weight:700}.slot b,.slot span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hover-detail{display:none;position:absolute;z-index:20;left:.2rem;top:100%;min-width:190px;padding:.6rem;background:#fff;color:#17324d;border:1px solid #9ab0c2;border-radius:.45rem;box-shadow:0 8px 24px #0002}.slot:hover .hover-detail{display:block}.month-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.month-week-label{font-weight:700;color:#526b80;padding:.35rem .5rem}.month-day{aspect-ratio:1/1;min-height:0;overflow:visible}.month-day{min-height:120px;border:1px solid #cbd5e1;border-radius:.4rem;padding:.4rem;background:#fff;color:#17324d;position:relative}.month-day.today{background:#dff5ef;border:2px solid #2fa184}.month-slot{margin-top:.35rem;padding:.25rem;background:#e8f8ef;border-left:3px solid #2fa184;border-radius:.25rem;color:#29465d;font-size:.75rem;position:relative}.month-slot .hover-detail{top:100%;left:0}.month-slot:hover .hover-detail{display:block}.alerts{background:#fff7d6!important;border-color:#efc65b!important;color:#17324d!important}.alerts span{background:#fff1b8!important;color:#17324d!important}@media(max-width:1000px){.weeks{grid-template-columns:1fr}.board{overflow-x:auto}.board-title,.board-row{min-width:700px}}
/* zachování kontrastu v tmavém režimu */
html[data-theme="dark"] .board,html[data-theme="dark"] .board{background:#fff;color:#17324d}html[data-theme="dark"] .board-title>div,html[data-theme="dark"] .board-title>div{background:#e7eef5;color:#17324d}html[data-theme="dark"] .day,html[data-theme="dark"] .day{background:#f7fafc;color:#17324d}html[data-theme="dark"] .slot,html[data-theme="dark"] .slot{color:#29465d}html[data-theme="dark"] .hover-detail,html[data-theme="dark"] .hover-detail{background:#fff;color:#17324d}
/* tmavý režim: dnešní den */
html[data-theme="dark"] .day.today, html[data-theme="dark"] .day.today{background:#173f3d!important;border-left:4px solid #43c7a5!important;color:#f4fbff!important}
html[data-theme="dark"] .day.today b, html[data-theme="dark"] .day.today b{color:#43c7a5!important}
html[data-theme="dark"] .day.today strong, html[data-theme="dark"] .day.today strong{color:#f4fbff!important}
/* tmavý režim: celý sloupec dne */
html[data-theme="dark"] .day, html[data-theme="dark"] .day{background:#173f3d!important;color:#43c7a5!important;border-left:4px solid #43c7a5!important}
html[data-theme="dark"] .day b, html[data-theme="dark"] .day b{color:#43c7a5!important}
html[data-theme="dark"] .day strong, html[data-theme="dark"] .day strong{color:#d7fff4!important}
html[data-theme="dark"] .day.today, html[data-theme="dark"] .day.today{background:#173f3d!important}
/* tmavý režim: celá tabulka */
html[data-theme="dark"] .board, html[data-theme="dark"] .board{background:#173f3d!important;color:#e7fff8!important;border-color:#2c756d!important}
html[data-theme="dark"] .board-title>div, html[data-theme="dark"] .board-title>div{background:#173f3d!important;color:#e7fff8!important;border-color:#2c756d!important}
html[data-theme="dark"] .board-title small, html[data-theme="dark"] .board-title small{color:#7de0c6!important}
html[data-theme="dark"] .board-row>div, html[data-theme="dark"] .board-row>div{border-color:#2c756d!important}
html[data-theme="dark"] .day, html[data-theme="dark"] .day{background:#173f3d!important;color:#43c7a5!important;border-color:#2c756d!important}
html[data-theme="dark"] .day b, html[data-theme="dark"] .day b{color:#43c7a5!important}
html[data-theme="dark"] .day strong, html[data-theme="dark"] .day strong{color:#d7fff4!important}
html[data-theme="dark"] .vehicle-day, html[data-theme="dark"] .vehicle-day{background:#173f3d!important;color:#e7fff8!important}
html[data-theme="dark"] .slot, html[data-theme="dark"] .slot{background:#173f3d!important;color:#dcefea!important;border-color:#2c756d!important}
html[data-theme="dark"] .slot small, html[data-theme="dark"] .slot small{color:#72d8bf!important}
html[data-theme="dark"] .slot.filled, html[data-theme="dark"] .slot.filled{background:#dff5e8!important;color:#173b35!important;border-left-color:#43c7a5!important}
html[data-theme="dark"] .slot.filled small, html[data-theme="dark"] .slot.filled small{color:#246b59!important}
html[data-theme="dark"] .month-week-label{color:#72d8bf!important}html[data-theme="dark"] .month-day, html[data-theme="dark"] .month-day{background:#173f3d!important;color:#e7fff8!important;border-color:#2c756d!important}
html[data-theme="dark"] .month-slot, html[data-theme="dark"] .month-slot{background:#dff5e8!important;color:#173b35!important}
html[data-theme="dark"] .hover-detail, html[data-theme="dark"] .hover-detail{background:#fff!important;color:#17324d!important}
/* tmavý režim: oddělený nadpis tabulky */
html[data-theme="dark"] .week-heading{background:#173f3d!important;color:#e7fff8!important;border:1px solid #2c756d!important;border-bottom:3px solid #43c7a5!important;border-radius:.55rem;padding:.55rem .75rem;margin-bottom:.5rem}
html[data-theme="dark"] .week-heading strong{color:#e7fff8!important}
html[data-theme="dark"] .week-heading span{color:#72d8bf!important}
.month-nav{justify-content:center}.month-nav a.active{background:#3157d5;color:#fff;border-color:#3157d5}/* zvýrazněná hlavička sloupců */
.board-title{position:relative;z-index:2;border-bottom:3px solid #43c7a5;box-shadow:0 3px 0 #0f2e2d}
.board-title>div{background:#dce7f0!important;color:#102f4a!important;border-right:1px solid #9eb5c7!important;font-weight:800}
.board-title small{color:#5e7890!important}
html[data-theme="dark"] .board-title{border-bottom:3px solid #43c7a5!important;box-shadow:0 3px 0 #0b2524}
html[data-theme="dark"] .board-title>div{background:#245652!important;color:#f0fffb!important;border-right:1px solid #43c7a5!important}
html[data-theme="dark"] .board-title small{color:#9de4d0!important}
.request-note{background:#8b1e2d!important;color:#fff!important;border-color:#ef6b73!important;margin-top:.35rem;padding:.35rem .45rem;background:#b4232f!important;border:2px solid #ff8a93;border-left:5px solid #ffd0d4;border-radius:.35rem;color:#fff!important;font-size:.74rem;font-weight:700}.request-note small{display:block;color:#fff!important;font-weight:800}.request-note span,.request-note em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-note em{font-style:normal;color:#fff!important}.request-row{grid-column:1/-1;background:#8b1e2d!important;border:2px solid #ef6b73;border-left:7px solid #ffb3b8;border-radius:.4rem;margin:.25rem .4rem .4rem;padding:.45rem .65rem;color:#fff!important;font-size:.78rem;font-weight:700}.request-row small{color:#ffd9dc!important;font-weight:800}.request-row span{margin-left:.7rem;color:#fff!important}.request-row em{margin-left:.7rem;color:#ffd9dc!important;font-style:normal}.vehicle-day,.slot,.request-note{min-width:0;box-sizing:border-box}.slot{overflow:visible}.request-note{max-width:100%;overflow:hidden}.request-note b,.request-note span,.request-note em{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trip-link{color:inherit;text-decoration:none;display:block}
.trip-link:hover{text-decoration:underline}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.page-head .eyebrow{margin-bottom:.2rem;font-size:.72rem}.page-head h1{font-size:1.75rem;margin:.1rem 0 .15rem}.page-head .muted{font-size:.82rem;margin:0}.board-controls{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin:0 0 .65rem}.board-controls a{padding:.42rem .7rem;border:1px solid #9eb5c7;border-radius:.5rem;text-decoration:none;color:#dcefea;background:#173f3d;font-size:.82rem;white-space:nowrap}.board-controls a.active{background:#3157d5;color:#fff;border-color:#3157d5}.board-controls a:hover{background:#2a6660;color:#fff}@media(max-width:1000px){.page-head{align-items:flex-start;flex-direction:column}.board-controls{justify-content:flex-start}}@media (min-width:1600px) and (min-height:800px){
.page-head{margin-bottom:.35rem}.page-head h1{font-size:1.55rem}.page-head .eyebrow{font-size:.65rem}.page-head .muted{font-size:.74rem}
.board-controls{margin-bottom:.35rem}.board-controls a{padding:.3rem .55rem;font-size:.74rem}
.week-heading{min-height:2.35rem;padding:.35rem .55rem;margin-bottom:.3rem;font-size:.82rem}
.board-title>div{padding:.38rem .45rem;font-size:.76rem}.board-title small{font-size:.66rem}
.day,.vehicle-day{min-height:52px;padding:.22rem}.day{font-size:.72rem}.day strong{font-size:.78rem}
.vehicle-day{gap:.12rem}.slot{padding:.14rem;font-size:.68rem;line-height:1.1}.slot small{font-size:.58rem;line-height:1}.slot b,.slot span{line-height:1.15}
}
.week-heading{position:relative;display:flex;align-items:center;justify-content:space-between}.week-heading .week-number{position:absolute;left:50%;transform:translateX(-50%);font-weight:800;color:#72d8bf}.week-heading .week-dates{margin-left:auto}@media(max-width:700px){.week-heading .week-number{position:static;transform:none;margin-left:auto;margin-right:.5rem}.week-heading .week-dates{display:none}}
.transfer-day{background:#dff5e8!important;color:#173b35!important;border-left:4px solid #43c7a5!important}.transfer-direction{display:block;margin-top:.35rem;font-size:.68rem;line-height:1.05;font-weight:800;color:#246b59!important;text-align:center}

.day.transfer-day,html[data-theme="dark"] .day.transfer-day{background:#dff5e8!important;color:#173b35!important;border-left:4px solid #43c7a5!important}.day.transfer-day b,.day.transfer-day strong,.day.transfer-day .transfer-direction,html[data-theme="dark"] .day.transfer-day b,html[data-theme="dark"] .day.transfer-day strong,html[data-theme="dark"] .day.transfer-day .transfer-direction{color:#246b59!important}

.transfer-direction{font-size:.8rem!important;font-weight:900!important}

.transfer-direction{line-height:1.2!important}

.day.transfer-day,html[data-theme="dark"] .day.transfer-day{background:#fff1b8!important;color:#4a3b00!important;border-left:4px solid #e0a800!important}.day.transfer-day b,.day.transfer-day strong,.day.transfer-day .transfer-direction,html[data-theme="dark"] .day.transfer-day b,html[data-theme="dark"] .day.transfer-day strong,html[data-theme="dark"] .day.transfer-day .transfer-direction{color:#5f4a00!important}

.day.transfer-day,html[data-theme="dark"] .day.transfer-day{background:#e8f4ff!important;color:#24445c!important;border-left:4px solid #9bc7e8!important}.day.transfer-day b,.day.transfer-day strong,.day.transfer-day .transfer-direction,html[data-theme="dark"] .day.transfer-day b,html[data-theme="dark"] .day.transfer-day strong,html[data-theme="dark"] .day.transfer-day .transfer-direction{color:#315d7d!important}
