:root{--bg:#f7f7f5;--ink:#292727;--muted:#6f6b69;--line:#e4dfdc;--brand:#b51f29;--danger:#b42318;--ok:#557f27}
.top{min-height:68px;height:auto;background:#fff;color:var(--ink);border-bottom:3px solid var(--brand);box-shadow:0 2px 10px #40101416;padding-top:7px;padding-bottom:7px}
.brand-logo{width:138px;height:50px;object-fit:contain}.top a{color:#4c4545;font-weight:600}.top a:hover{color:var(--brand)}
.login .panel{border-top:4px solid var(--brand)}.login-logo{display:block;width:230px;max-width:85%;height:auto;margin:0 auto 22px}
.stat{color:var(--brand)}button:hover,.button:hover{background:#8d1720}input:focus,select:focus,textarea:focus{outline:3px solid #b51f2922;border-color:var(--brand)}
.permission-preview{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;color:var(--ink)}.permission-preview-title{flex:0 0 auto;font-size:12px;white-space:nowrap}.permission-preview-form{display:flex;align-items:center;margin:0;min-width:0}.permission-preview select{width:auto;max-width:210px;padding:6px 8px;font-size:12px}.permission-preview-user-form{gap:5px}.permission-preview-user-wrap{position:relative;flex:1 1 250px;min-width:190px}.permission-preview .permission-preview-user{width:100%;max-width:310px;padding:6px 8px;font-size:12px}.permission-preview-user-results{position:absolute;top:calc(100% + 5px);left:0;z-index:80;width:min(430px,calc(100vw - 24px));max-height:290px;overflow-y:auto;padding:5px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 34px #21171730}.top .permission-preview .permission-preview-user-option{display:block;width:100%;padding:8px 10px;border-radius:5px;background:#fff;color:var(--ink);text-align:left;justify-content:flex-start;overflow-wrap:anywhere}.top .permission-preview .permission-preview-user-option:hover,.top .permission-preview .permission-preview-user-option.is-active{background:#fff0f1;color:var(--brand)}.permission-preview-user-empty{display:block;padding:9px;color:var(--muted);font-size:12px}.permission-preview-submit{flex:0 0 auto}.preview-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff3cd;border:2px solid #e0a800;color:#5f4600;border-radius:10px;padding:12px 16px;margin-bottom:18px}.preview-banner span{flex:1}.preview-banner form{margin:0}.preview-banner button{background:#795b00}.top .permission-preview button{padding:6px 8px}
.preview-write-disabled{filter:grayscale(.35);cursor:not-allowed}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px 16px}.permission-grid .check{padding:8px;border:1px solid var(--line);border-radius:7px}.permission-grid small{display:block;color:var(--muted);font-weight:400}@media(max-width:900px){.permission-grid{grid-template-columns:1fr}}
.priority-tasks{border:2px solid #e0a800;background:#fffdf4}.priority-tasks h2{color:#795b00}
.task-list{display:grid;gap:10px}.task-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;background:#fff;border:1px solid #ead58a;border-radius:9px}.task-item p{margin:5px 0 0}.welcome-panel{border-left:5px solid var(--brand)}.workflow{border-top:4px solid var(--brand)}.workflow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.workflow-steps a{position:relative;display:grid;gap:8px;min-height:175px;padding:18px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}.workflow-steps a:hover{border-color:var(--brand);box-shadow:0 5px 18px #73101918}.workflow-steps span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}.workflow-steps strong{font-size:17px}.workflow-steps small{color:var(--muted);line-height:1.45}.workflow-steps b{color:var(--brand);margin-top:auto}.overview-details>summary,.advanced-tools>summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none}.overview-details>summary::before,.advanced-tools>summary::before{content:'＋';display:inline-block;margin-right:8px;color:var(--brand)}.overview-details[open]>summary::before,.advanced-tools[open]>summary::before{content:'−'}.overview-details .grid{margin:20px 0}.advanced-tools-content{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:800px){.workflow-steps{grid-template-columns:1fr}.task-item{align-items:flex-start;flex-direction:column}}
.month-plan-heading,.month-employee>header,.dialog-heading,.dialog-actions,.month-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.month-plan-heading h2,.dialog-heading h2{margin-bottom:2px}.month-legend span{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.legend-shift{background:#e8f4df;color:#365c18}.legend-absence{background:#fff0d5;color:#7b4c00}.legend-empty{background:#f1f1f1;color:#67615e}.month-employee{margin-top:18px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.month-employee>header{padding:10px 12px;background:#f7f5f3}.month-employee>header span{font-size:12px;color:var(--muted)}.month-row{display:grid;grid-template-columns:repeat(var(--days),minmax(42px,1fr));border-top:1px solid var(--line)}.month-day{min-width:0;height:68px;padding:5px 2px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.month-day:last-child{border-right:0}.month-day span{font-size:10px;text-transform:uppercase;color:var(--muted)}.month-day strong{font-size:14px}.month-day small{max-width:100%;font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-day.state-shift{background:#edf7e7;color:#355a1d}.month-day.state-absence{background:#fff2d9;color:#724800}.month-day.weekend{box-shadow:inset 0 3px #c9c5c2}.month-day.holiday{box-shadow:inset 0 3px var(--brand)}.month-day:not(:disabled):hover{background:#f7dfe1;color:#71131a;transform:none}.month-day:disabled{cursor:default;opacity:1}.day-editor{width:min(620px,calc(100% - 28px));border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px #0005}.day-editor::backdrop{background:#211b1b88}.day-editor form{padding:22px}.dialog-close{background:transparent;color:var(--ink);font-size:25px;padding:2px 9px}.dialog-close:hover{background:#eee}.day-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:18px 0}.day-kind legend{margin-bottom:8px;font-weight:700}.day-kind label input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.day-kind label span{display:block;padding:14px;text-align:center;border:2px solid var(--line);border-radius:9px;font-weight:800;cursor:pointer}.day-kind label input:checked+span{border-color:var(--brand);background:#fff0f1;color:var(--brand)}.day-editor [hidden]{display:none!important}.dialog-actions{justify-content:flex-start;margin-top:18px}.dialog-actions .secondary{margin-left:auto}@media(max-width:900px){.month-employee{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.month-row{min-width:calc(var(--days) * 38px);grid-template-columns:repeat(var(--days),minmax(38px,1fr))}.month-day{height:61px}.month-day small{font-size:9px}.month-employee>header{align-items:flex-start;flex-direction:column;position:sticky;left:0;z-index:2;min-width:100%}}@media(max-width:560px){.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions button{width:100%}.dialog-actions .secondary{grid-column:1/-1;margin-left:0}}
.bulk-preview{grid-column:1/-1;margin:2px 0 0;padding:9px 11px;background:#f7f4ef;border-radius:8px}

.page-title-actions{flex-wrap:wrap}
.page-title-actions>*,.month-plan-heading>*,.month-employee>header>*,.dialog-heading>*,.dialog-actions>*,.month-legend>*,.task-item>*{min-width:0}
.month-employee>header strong,.task-item p{overflow-wrap:anywhere}

/* Kompaktní měsíční plán: zaměstnanec vlevo, celý měsíc v jediném řádku. */
.month-plan-list{display:grid;gap:0;margin-top:12px}
.month-plan .month-employee{display:grid;grid-template-columns:164px minmax(0,1fr);margin-top:0;overflow:hidden;border-top:0;border-radius:0}
.month-plan .month-employee>header{position:static;z-index:auto;display:flex;min-width:0;min-height:60px;padding:5px 8px;align-items:flex-start;justify-content:center;flex-direction:column;gap:1px;border-right:1px solid var(--line);background:#f7f5f3}
.month-plan .month-employee>header strong{display:block;width:100%;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-plan .month-employee>header span,.month-plan .month-employee>header small{display:block;width:100%;font-size:9px;line-height:1.15;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-plan .month-row{min-width:0;border-top:0;grid-template-columns:repeat(var(--days),minmax(0,1fr))}
.month-plan .month-day{height:60px;min-width:0;padding:2px 0;gap:0;border-right:1px solid var(--line)}
.month-plan .month-day span{font-size:8px;line-height:1}
.month-plan .month-day strong{font-size:12px;line-height:1.15}
.month-plan .month-day small{font-size:7px;line-height:1.1}
@media(max-width:900px){
  .month-plan .month-employee{grid-template-columns:145px calc(var(--days) * 32px);overflow-x:auto;overflow-y:hidden}
  .month-plan .month-employee>header{position:sticky;left:0;z-index:3;min-width:0;min-height:60px;flex-direction:column;align-items:flex-start}
  .month-plan .month-row{min-width:calc(var(--days) * 32px);grid-template-columns:repeat(var(--days),32px)}
}
