/* Kalendář dostupnosti (Rok / Měsíc / Týden / Den). Barvy a písmo z brand.css. */
.calRoot{display:flex;flex-direction:column;height:calc(100vh - 6px);padding:14px 0 0;color:var(--ink)}
.calNow{display:flex;align-items:baseline;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.calClock{font-weight:300;font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.calMeta{font-size:12px;color:var(--muted)}
.calBar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--card)}
.seg button{background:transparent;color:var(--ink-soft);border-radius:0;min-height:34px;padding:6px 16px;font-size:13px;font-weight:400;letter-spacing:.04em}
.seg button+button{border-left:1px solid var(--line)}
.seg button.on{background:var(--ink);color:#fff}
.seg button:not(.on):hover{background:var(--paper-2)}
.calNav{display:inline-flex;gap:6px;align-items:center}
.calNav button{min-height:34px;padding:6px 12px;font-size:13px}
.calTitle{font-weight:300;font-size:24px;letter-spacing:.01em;margin:0 0 0 6px;min-width:170px}
.calWho{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.calWho select{width:auto;min-height:34px;padding:5px 10px;font-size:13px;background:var(--card)}
.calView{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}

/* Avatary */
.calAv{width:var(--s,20px);height:var(--s,20px);min-width:var(--s,20px);border-radius:50%;background-color:var(--avatar-background,#e9edf3);box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--line);position:relative;display:inline-block;overflow:hidden;flex-shrink:0}
.calAv img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.more{font-size:10px;color:var(--muted);margin-left:2px}

/* Rolovací plocha */
.scroller{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;background:#FBFAF7;border:1px solid var(--line);border-radius:6px}
.stick{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:42px repeat(7,minmax(0,1fr));background:var(--paper);border-bottom:1px solid var(--line)}
.mHead{padding:7px 6px 5px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;border-right:1px solid var(--line)}
.srow{display:grid;grid-template-columns:42px repeat(7,minmax(0,1fr))}
.wk{border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#A8A59B;letter-spacing:.06em;padding:8px 0 0;text-align:center}

/* Oddělovač měsíců a let: jen nadpis, bez tlustých čar */
.monthBand{display:flex;align-items:baseline;gap:14px;padding:14px 16px 8px;background:var(--paper);border-bottom:1px solid var(--line)}
.monthBand b{font-weight:500;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.monthBand span{font-weight:300;font-size:15px;color:var(--muted);letter-spacing:.08em}
.monthBand.newYear{padding:22px 16px 12px;border-top:1px solid var(--gold)}
.monthBand.newYear .yr{font-weight:300;font-size:44px;letter-spacing:.12em;line-height:1;color:var(--gold-display)}

/* Měsíc */
.mCell{position:relative;min-height:96px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 6px 24px;cursor:pointer;user-select:none}
.mCell.odd{background:#F7F5EF}
.mCell.we{background:#F1EFE8}
.mCell.odd.we{background:#EDEBE3}
.mCell.hol{background:var(--gold-soft)}
.mCell:hover{filter:brightness(.97)}
.mFaces{display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.mCell .num{position:absolute;left:8px;bottom:5px;font-size:13px;color:var(--ink-soft)}
.mCell.first .num{font-weight:600;color:var(--ink)}
.mCell.today .num{background:var(--gold);color:var(--ink);border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;left:5px;bottom:3px;font-weight:500}
.mCell .mine{position:absolute;right:7px;bottom:8px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.mCell .cnt{position:absolute;right:7px;top:5px;font-size:11px;color:var(--muted)}
.mCell .holn{position:absolute;right:20px;bottom:5px;font-size:10px;color:var(--gold-ink);max-width:calc(100% - 60px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.mCell.sel{background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold)}

/* Týden */
.wCol{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px;padding:8px 8px 10px;cursor:pointer;user-select:none}
.wCol:hover{filter:brightness(.98)}
.wCol.odd{background:#F7F5EF}
.wCol.we{background:#F1EFE8}
.wCol.hol{background:var(--gold-soft)}
.wCol.sel{background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold)}
.wCol .wh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.wCol .wh b{font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wCol .wh span{font-size:19px;font-weight:300}
.wCol.today .wh span{background:var(--gold);border-radius:50%;min-width:28px;height:28px;display:grid;place-items:center;font-weight:500}
.holn{font-size:11px;color:var(--gold-ink);margin:-2px 0 6px}
.wp{display:flex;align-items:center;gap:7px;font-size:12px;margin:4px 0}
.wp.me{font-weight:500}
.wSum{font-size:11px;color:var(--muted);margin-top:8px}

/* Rok */
.yearBox{padding:0 2px 8px}
.yearHead{display:flex;align-items:baseline;gap:16px;padding:22px 8px 12px;margin-top:6px;border-top:1px solid var(--gold)}
.yearBlock:first-child .yearHead{margin-top:0}
.yearHead strong{font-weight:300;font-size:56px;letter-spacing:.1em;line-height:1;color:var(--ink)}
.yearHead span{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}
.yGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 26px;padding:0 10px}
.yMonth h3{font-weight:400;font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;cursor:pointer;color:var(--ink)}
.yMonth h3:hover{color:var(--gold-ink)}
.yDays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.yDays i{font-style:normal;font-size:9px;color:#A8A59B;text-align:center;letter-spacing:.1em}
.yd{aspect-ratio:1;border-radius:3px;font-size:9px;display:grid;place-items:center;cursor:pointer;color:var(--ink);background:var(--paper-2)}
.yd.blank{background:none;cursor:default}
.yd.hol{box-shadow:inset 0 0 0 1.5px var(--gold-ink)}
.yd.today{outline:2px solid var(--gold);outline-offset:1px}
.yd.sel{box-shadow:inset 0 0 0 2px var(--ink)}
.calLegend{font-size:11px;color:var(--muted);margin:14px 10px 8px}

/* Den: dny vedle sebe + linkovaný papír s poznámkami */
.dayStrip{flex:1;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:300px;grid-template-rows:minmax(230px,5fr) minmax(0,6fr);overflow-x:auto;overflow-y:hidden;background:#FBFAF7;border:1px solid var(--line);border-radius:6px;scrollbar-width:thin}
.dTop{grid-row:1;padding:12px 14px;overflow-y:auto;cursor:pointer;border-right:1px solid var(--line);border-bottom:2px solid var(--line);user-select:none;min-width:0}
.dTop.we{background:#F1EFE8}
.dTop.hol{background:var(--gold-soft)}
.dTop.sel{background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold)}
.dTop .dh{display:flex;align-items:baseline;gap:8px}
.dTop .dn{font-weight:300;font-size:34px;line-height:1}
.dTop.today .dn{background:var(--gold);border-radius:50%;min-width:46px;height:46px;display:grid;place-items:center;font-weight:400;font-size:26px}
.dTop .dm{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.dTop .wp{font-size:14px;margin:7px 0}
.dNote{grid-row:2;min-width:0;display:flex;flex-direction:column;padding-top:32px;border-right:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#DEDBD2 31px,#DEDBD2 32px);background-position:0 32px}
.dNote .auto{padding:0 14px;font-size:13px;line-height:32px;color:var(--ink-soft)}
.dNote .auto div{height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dNote .auto .done{color:var(--muted);text-decoration:line-through}
.dNote .auto i{font-style:normal;color:var(--gold-ink);margin-right:6px}
.dNote .auto em{font-style:normal;color:var(--muted)}
.dNote textarea{width:100%;flex:1;min-height:0;border:0;background:transparent;resize:none;outline:0;padding:0 14px;font:inherit;font-size:15px;line-height:32px;color:var(--ink);border-radius:0}
.dNote textarea:focus{box-shadow:none}
.notesLabel{grid-row:2;grid-column:1/-1;position:sticky;left:14px;width:max-content;align-self:start;z-index:3;pointer-events:none;padding:8px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.notesLabel span{letter-spacing:.04em;text-transform:none;margin-left:10px;color:var(--gold-ink)}

/* Lišta potvrzení */
.calActions{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:10px;padding:10px 12px 10px 20px;display:flex;align-items:center;gap:12px;z-index:50;box-shadow:0 18px 50px #1E1E1C40;font-size:14px}
.calActions b{font-weight:500;color:var(--gold)}
.calActions button{min-height:36px;padding:7px 16px;font-size:13px;background:var(--gold);color:var(--ink);font-weight:600}
.calActions button.ghost{background:transparent;color:#fff;border:1px solid #55544E}
.calActions button.ghost:hover{background:#34332F}

@media(max-width:1150px){.calActions{left:calc(50% + 38px)}}
@media(max-width:760px){
  .calRoot{height:auto;min-height:100vh;padding-bottom:110px}
  .calView{flex:none;height:70vh}
  .yGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stick,.srow{grid-template-columns:26px repeat(7,minmax(0,1fr))}
  .mCell{min-height:60px;padding:4px 3px 18px;display:flex;flex-direction:column;justify-content:center}
  .mFaces,.mCell .holn{display:none}
  .mCell .cnt{position:static;font-size:16px;color:var(--ink);margin:4px auto 0}
  .scroller.weeks{overflow-x:auto}
  .scroller.weeks .stick,.scroller.weeks .srow{min-width:720px}
  .calWho{margin-left:0}
  .calActions{left:50%;width:calc(100% - 24px);flex-wrap:wrap;justify-content:center;padding:10px}
  .dayStrip{grid-auto-columns:260px}
}
