/* ============================================================
   calendar-v3.css — KALENDÁŘ v3 (scoped .cal3)
   Načítá se po styles.css. Nesahá na globální input/button/select.
   Barvy z existujících tokenů → světlý i tmavý režim.
   ============================================================ */

.cal3{display:grid;grid-template-columns:248px minmax(0,1fr);gap:14px;align-items:start}
.cal3--daypanel{grid-template-columns:248px minmax(0,1fr) 330px}
.cal3__main{display:flex;flex-direction:column;gap:12px;min-width:0}

/* ---------- levý panel ---------- */
.cal3__side{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.cal3-sec{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.cal3-sec__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.cal3-sec__row .cal3-sec{margin:0}
.cal3-link{background:none;border:0;padding:0;font-family:inherit;font-size:11px;font-weight:700;color:var(--accent-ink);cursor:pointer}
.cal3-link:hover{text-decoration:underline}

/* mini měsíc */
.cal3-mm__h{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.cal3-mm__h b{font-size:12.5px;font-weight:800;text-transform:capitalize}
.cal3-mm__nav{display:flex;gap:2px}
.cal3-mm__nav button{width:24px;height:24px;border-radius:7px;border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1}
.cal3-mm__nav button:hover{background:var(--surface-2);color:var(--ink)}
.cal3-mm__w,.cal3-mm__g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal3-mm__w span{text-align:center;font-size:9.5px;font-weight:800;color:var(--muted);padding-bottom:4px}
.cal3-mm__d{position:relative;aspect-ratio:1;border:0;border-radius:7px;background:none;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.cal3-mm__d:hover{background:var(--surface-2)}
.cal3-mm__d.is-out{color:var(--muted);opacity:.55}
.cal3-mm__d.is-week{background:var(--accent-soft)}
.cal3-mm__d.is-today{color:var(--accent-ink);font-weight:800}
.cal3-mm__d.is-sel{background:var(--accent);color:#fff;font-weight:800}
.cal3-mm__dot{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:var(--accent)}
.cal3-mm__d.is-sel .cal3-mm__dot{background:#fff}

/* checkboxy typů */
.cal3-chk{display:flex;align-items:center;gap:9px;padding:5px 2px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.cal3-chk input{accent-color:var(--accent);flex:0 0 auto}
.cal3-chk .i{color:var(--muted);flex:0 0 auto}
.cal3-sw{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:600;cursor:pointer}
.cal3-sw input{accent-color:var(--accent)}
.cal3-legend{display:flex;flex-direction:column;gap:5px}
.cal3-legend__i{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink-2)}
.cal3-legend__s{width:11px;height:11px;border-radius:4px;flex:0 0 auto}

/* ---------- toolbar ---------- */
.cal3__bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.cal3__title{font-size:15px;font-weight:800;letter-spacing:-.015em;margin:0 4px;white-space:nowrap}
.cal3__sp{flex:1 1 auto}
.cal3-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:2px;gap:2px}
.cal3-seg button{border:0;background:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap}
.cal3-seg button:hover{color:var(--ink)}
.cal3-seg button.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1)}
.cal3__bar2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);padding:0 4px}
.cal3-work{margin-left:auto;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}

/* ---------- mřížka ---------- */
.cal3-grid{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.cal3-heads,.cal3-allrow{display:grid;grid-template-columns:var(--tpl,62px repeat(var(--cols),minmax(0,1fr)))}
.cal3-heads{border-bottom:1px solid var(--line)}
.cal3-dhead{padding:9px 10px;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:.02em;color:var(--muted);border-left:1px solid var(--line-2);text-transform:uppercase}
.cal3-dhead.is-today{color:var(--accent-ink);background:var(--accent-soft)}
.cal3-dhead.is-we{background:var(--surface-2)}
.cal3-gut{border-right:1px solid var(--line-2)}
.cal3-allrow{border-bottom:1px solid var(--line);min-height:34px;position:relative}
.cal3-allrow__lbl{font-size:10px;font-weight:700;color:var(--muted);display:grid;place-items:center;text-align:center;border-right:1px solid var(--line-2)}
.cal3-allcell{border-left:1px solid var(--line-2);min-height:34px}
.cal3-allcell.is-we{background:var(--surface-2)}
/* vícedenní pruh — absolutně přes sloupce */
.cal3-span{position:absolute;height:22px;border-radius:6px;padding:0 9px;font-size:11.5px;font-weight:700;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-left:3px solid}
.cal3-span:hover{filter:brightness(.97)}

.cal3-body{position:relative;overflow-y:auto;max-height:calc(100vh - 300px)}
.cal3-hours{position:absolute;inset:0}
.cal3-hrow{display:grid;grid-template-columns:var(--tpl,62px repeat(var(--cols),minmax(0,1fr)));border-bottom:1px solid var(--line-2)}
.cal3-hrow.is-off .cal3-cell{background:repeating-linear-gradient(135deg,transparent,transparent 6px,var(--surface-2) 6px,var(--surface-2) 12px);opacity:.65}
.cal3-h{font-size:10.5px;font-weight:700;color:var(--muted);padding:3px 8px 0;text-align:right;border-right:1px solid var(--line-2);user-select:none}
.cal3-cell{border-left:1px solid var(--line-2)}
.cal3-cell.is-we{background:var(--surface-2)}
.cal3-cols{position:relative;display:grid;grid-template-columns:var(--tpl,62px repeat(var(--cols),minmax(0,1fr)))}
.cal3-col{position:relative;border-left:1px solid transparent}
.cal3-col.is-today{background:linear-gradient(var(--accent-soft),var(--accent-soft));background-blend-mode:multiply;opacity:1}

/* čára aktuálního času */
.cal3-now{position:absolute;left:0;right:0;height:0;border-top:1.5px solid #e5484d;z-index:6;pointer-events:none}
.cal3-now__t{position:absolute;left:-56px;top:-9px;background:#e5484d;color:#fff;font-size:10px;font-weight:800;border-radius:5px;padding:1px 6px;font-family:var(--mono)}

/* ---------- blok aktivity ---------- */
.cal3-ev{position:absolute;border-radius:8px;padding:4px 8px 4px 9px;overflow:hidden;cursor:pointer;border:1px solid transparent;border-left-width:3px;border-left-style:solid;display:flex;flex-direction:column;gap:1px;transition:box-shadow .12s}
.cal3-ev:hover{box-shadow:var(--shadow-1);z-index:5}
.cal3-ev__t{font-size:10.5px;font-weight:700;font-family:var(--mono);letter-spacing:-.01em;opacity:.85;white-space:nowrap}
.cal3-ev__n{font-size:11.5px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px}
.cal3-ev__c{font-size:11px;line-height:1.25;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal3-ev__s{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal3-ev--xs{padding:1px 7px;flex-direction:row;align-items:center;gap:6px}
.cal3-ev--xs .cal3-ev__n{font-size:11px}
.cal3-ev.is-done{opacity:.58}
.cal3-ev.is-done .cal3-ev__n{text-decoration:line-through}
.cal3-ev.is-over{border-color:#e5484d}
.cal3-ev__ic{position:absolute;top:4px;right:6px;opacity:.65}
.cal3-ev__grip{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize;border-radius:0 0 8px 8px}
.cal3-ev:hover .cal3-ev__grip{background:linear-gradient(transparent,rgba(0,0,0,.07))}
.cal3-ev.dragging{opacity:.45}

/* ---------- týmový pohled ---------- */
.cal3-team .cal3-dhead{display:flex;align-items:center;gap:9px;text-align:left;text-transform:none;padding:9px 12px}
.cal3-team__who{display:flex;flex-direction:column;gap:0;min-width:0}
.cal3-team__who b{font-size:12.5px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal3-team__who span{font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- měsíc ---------- */
.cal3-m{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cal3-m__h{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}
.cal3-m__h span{padding:8px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-left:1px solid var(--line-2)}
.cal3-m__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal3-md{min-height:118px;border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer}
.cal3-md:hover{background:var(--surface-2)}
.cal3-md.is-out{background:var(--surface-2);opacity:.6}
.cal3-md.is-we{background:var(--surface-2)}
.cal3-md.is-today .cal3-md__n{background:var(--accent);color:#fff}
.cal3-md.is-sel{box-shadow:inset 0 0 0 2px var(--accent)}
.cal3-md__n{align-self:flex-start;min-width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11.5px;font-weight:800;color:var(--ink);padding:0 5px}
.cal3-md.is-we .cal3-md__n{color:#c04141}
.cal3-chip{display:flex;align-items:center;gap:5px;border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:600;border-left:3px solid;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}
.cal3-chip b{font-family:var(--mono);font-weight:700;opacity:.8;flex:0 0 auto}
.cal3-chip span{overflow:hidden;text-overflow:ellipsis}
.cal3-chip.is-done{opacity:.55;text-decoration:line-through}
.cal3-more{background:none;border:0;padding:1px 6px;font-family:inherit;font-size:10.5px;font-weight:700;color:var(--accent-ink);cursor:pointer;text-align:left}
.cal3-more:hover{text-decoration:underline}

/* ---------- panel dne ---------- */
.cal3__day{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 190px)}
.cal3-dp__h{display:flex;align-items:center;gap:10px;padding:13px 14px 10px;border-bottom:1px solid var(--line-2)}
.cal3-dp__h b{font-size:14px;font-weight:800;text-transform:capitalize}
.cal3-dp__h .iconbtn{margin-left:auto}
.cal3-dp__sub{padding:9px 14px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line-2)}
.cal3-dp__list{overflow-y:auto;padding:6px}
.cal3-dpi{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:9px 10px;cursor:pointer;font-family:inherit;border-left:3px solid}
.cal3-dpi:hover{background:var(--surface-2)}
.cal3-dpi__t{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:var(--muted);font-family:var(--mono)}
.cal3-dpi__n{font-size:13px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.cal3-dpi__c{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}

/* ---------- modal nové aktivity ---------- */
.a3{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.a3__full{grid-column:1 / -1}
.a3-row{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.a3-row>label{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
.a3-row input,.a3-row select,.a3-row textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;font-weight:600;font-family:inherit;color:var(--ink);background:var(--surface);outline:none}
.a3-row textarea{resize:vertical;min-height:80px;font-weight:500;line-height:1.5}
.a3-when{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}
.a3-dt{display:flex;gap:7px}
.a3-dt input[type=date]{flex:1 1 auto;min-width:0}
.a3-dt input[type=time]{width:98px;flex:0 0 auto}
.a3-dur{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:9px}
.a3-dur button{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;padding:5px 9px;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.a3-dur button:hover{border-color:var(--accent)}
.a3-dur button.on{background:var(--accent);border-color:transparent;color:#fff}
.a3-sec{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin:6px 0 10px;padding-top:12px;border-top:1px solid var(--line-2)}
.a3-tog{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;font-weight:600;cursor:pointer;margin-bottom:10px}
.a3-tog input{accent-color:var(--accent)}
.a3-chips{display:flex;flex-wrap:wrap;gap:6px}
.a3-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 4px 3px 4px;font-size:11.5px;font-weight:700}
.a3-chip button{background:none;border:0;padding:0 5px 0 0;color:var(--muted);cursor:pointer;line-height:1}
.a3-chip button:hover{color:var(--ink)}
.a3-rem{display:flex;align-items:center;gap:6px;margin-bottom:7px}
.a3-rem select{flex:1}
.a3-hint{font-size:11.5px;color:var(--muted);margin:-4px 0 10px}
.a3-note{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-top:6px}
.a3-note b{font-size:12.5px;display:block;margin-bottom:2px}
.a3-note span{font-size:11.5px;color:var(--muted)}

/* ---------- responsive ---------- */
@media(max-width:1500px){.cal3--daypanel{grid-template-columns:248px minmax(0,1fr) 300px}}
@media(max-width:1280px){
  .cal3,.cal3--daypanel{grid-template-columns:minmax(0,1fr)}
  .cal3__side{display:none}
  .cal3.is-sideopen .cal3__side{display:flex}
  .cal3__day{max-height:none}
  .a3{grid-template-columns:1fr}
  /* uzsi modal: zacatek, delka a konec pod sebou - chipy neskacou nad pole */
  .a3-when{grid-template-columns:1fr;gap:0}
  .a3-dur{padding:2px 0 12px;order:3}
}
@media(max-width:900px){
  .cal3-heads,.cal3-allrow,.cal3-hrow,.cal3-cols{grid-template-columns:48px repeat(var(--cols),minmax(120px,1fr))!important}
  .cal3-grid{overflow-x:auto}
}

/* ---------- tmavý režim ---------- */
html[data-theme="dark"] .cal3-hrow.is-off .cal3-cell{background:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(255,255,255,.03) 6px,rgba(255,255,255,.03) 12px)}
html[data-theme="dark"] .cal3-md.is-we,html[data-theme="dark"] .cal3-cell.is-we,html[data-theme="dark"] .cal3-allcell.is-we{background:rgba(255,255,255,.02)}
html[data-theme="dark"] .cal3-seg button.on{background:var(--surface)}
html[data-theme="dark"] .cal3-ev:hover{box-shadow:0 6px 18px rgba(0,0,0,.4)}


/* ---------- volny / obsazeny (kolega bez plneho sdileni) ---------- */
.cal3-ev--busy{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 5px,var(--line-2) 5px,var(--line-2) 10px);border-color:var(--line);border-left-color:var(--muted);color:var(--muted);cursor:default}
.cal3-ev--busy:hover{box-shadow:none}
.cal3-ev--busy .cal3-ev__n{font-weight:800;letter-spacing:.02em}
.cal3-col.is-busyonly{cursor:default}
.cal3-busytag{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-radius:5px;padding:1px 6px}

/* vikendovy sloupec - uzky prouzek, drzi citelnost */
.cal3-dhead.is-we{font-size:10.5px;letter-spacing:0}
.cal3-col.is-we .cal3-ev{padding-left:6px;padding-right:4px}
.cal3-col.is-we .cal3-ev__c,.cal3-col.is-we .cal3-ev__s{display:none}


/* ---------- naseptavac (deal / lead) ---------- */
.a3-pick{position:relative}
.a3-pick input{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 32px 9px 11px;font-size:13px;font-weight:600;font-family:inherit;color:var(--ink);background:var(--surface);outline:none}
.a3-pick input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a3-pick__x{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:0;padding:3px;display:grid;place-items:center;color:var(--muted);cursor:pointer;border-radius:6px}
.a3-pick__x:hover{background:var(--surface-2);color:var(--ink)}
.a3-pick__list{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-2,0 16px 40px rgba(15,20,35,.2));max-height:260px;overflow-y:auto;z-index:60;padding:5px;display:none}
.a3-pick__list.open{display:block}
.a3-pick__list button{display:flex;flex-direction:column;gap:1px;width:100%;background:none;border:0;border-radius:8px;padding:7px 10px;text-align:left;cursor:pointer;font-family:inherit}
.a3-pick__list button:hover{background:var(--accent-soft)}
.a3-pick__list button b{font-size:12.5px;font-weight:700;color:var(--ink)}
.a3-pick__list button span{font-size:11px;color:var(--muted)}
.a3-pick__empty{padding:14px;text-align:center;font-size:12px;color:var(--muted)}

/* ---------- vyber osob (minikarta) ---------- */
.a3-people{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 9px;cursor:pointer;font-family:inherit;text-align:left;min-height:40px}
.a3-people:hover{border-color:var(--accent)}
.a3-people__v{display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}
.a3-people__b{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border-radius:7px;padding:4px 9px}
.a3-pp{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--ink)}
.a3-pp i{font-style:normal;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.a3-pp--all{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}
.a3-radio{display:flex;flex-direction:column;gap:3px;max-height:230px;overflow-y:auto;margin-bottom:6px}
.a3-radio__i{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:9px;cursor:pointer}
.a3-radio__i:hover{background:var(--surface-2)}
.a3-radio__i input{accent-color:var(--accent);flex:0 0 auto}
.a3-radio__i span{display:flex;flex-direction:column;gap:0;min-width:0}
.a3-radio__i b{font-size:12.5px;font-weight:700}
.a3-radio__i i{font-style:normal;font-size:11px;color:var(--muted)}
.a3-quick{display:flex;gap:6px;margin-bottom:9px}

/* ---------- e-maily pozvanky (chips) ---------- */
.a3-mails{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px;min-height:24px}
.a3-mail{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);border-radius:7px;padding:3px 4px 3px 9px}
.a3-mail button{background:none;border:0;padding:0 3px;display:grid;place-items:center;color:inherit;opacity:.6;cursor:pointer}
.a3-mail button:hover{opacity:1}
#a3_mailIn,#ad_mailIn{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12.5px;font-family:inherit;color:var(--ink);background:var(--surface);outline:none}

html[data-theme="dark"] .a3-pick__list{box-shadow:0 18px 44px rgba(0,0,0,.5)}
html[data-theme="dark"] .a3-people{background:var(--surface-2)}

/* Patka detailu aktivity: .btn--danger ma v styles.css width:100%, a protoze
   flex-basis:auto ctue prave sirku, samotne flex:0 0 auto nestaci - nutne i width:auto.
   Scoped na .drawer__foot, aby zustala plna sirka v .drawer__danger u detailu dealu. */
#drawer .drawer__foot .btn{flex:0 0 auto;width:auto}
