/* calgrid.css — BrainDesk 3.0 «Календарь»: сетка по часам, карточка и форма события (стол, телефон, сотрудник).
   Цвета — переменные темы приложения (app.css / m.css); у мини-приложения нет --panel-2 и --whisper — запасные значения. */
.bdc { --gut: 46px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); overflow: hidden; user-select: none; -webkit-user-select: none; }
.bdc-row { display: grid; grid-template-columns: var(--gut) repeat(var(--n), minmax(0, 1fr)); position: relative; }
.bdc-head { border-bottom: 1px solid var(--line); }
.bdc-dh { padding: 6px 6px 5px; font-size: 12px; color: var(--mut); text-align: center; cursor: pointer; border-left: 1px solid var(--line); }
.bdc-dh b { font-size: 16px; font-weight: 600; color: var(--ink); }
.bdc-dh.today b { color: var(--acc-ink, #fff); background: var(--acc); border-radius: 999px; padding: 0 7px; }
.bdc-dh.past b { color: var(--mut); }
.bdc-allrow { border-bottom: 1px solid var(--line); min-height: 26px; }
.bdc-gut { position: relative; font-size: 10.5px; color: var(--mut); text-align: right; padding: 4px 6px 0 0; }
.bdc-ad { border-left: 1px solid var(--line); padding: 2px; min-height: 24px; cursor: copy; }
.bdc-body { max-height: min(68vh, 760px); overflow-y: auto; overscroll-behavior: contain; }
.bdc.one .bdc-body { max-height: min(74vh, 900px); }
.bdc-h { position: absolute; right: 6px; transform: translateY(-50%); font-size: 10.5px; color: var(--mut); }
.bdc-col { position: relative; border-left: 1px solid var(--line); cursor: copy;
  background-image: repeating-linear-gradient(to bottom, var(--line) 0, var(--line) 1px, transparent 1px, transparent var(--hpx)); }
.bdc-col.past { background-color: color-mix(in srgb, var(--ink) 3%, transparent); }
.bdc-col.today { background-color: color-mix(in srgb, var(--acc) 5%, transparent); }
.bdc-now { position: absolute; left: -1px; right: 0; height: 0; border-top: 2px solid #E0473A; z-index: 3; pointer-events: none; }
.bdc-now::before { content: ""; position: absolute; left: -4px; top: -5px; width: 8px; height: 8px; border-radius: 50%; background: #E0473A; }
.bdc-ev { --c: var(--acc); position: absolute; z-index: 2; overflow: hidden; cursor: pointer; font-size: 11.5px; line-height: 1.25; padding: 2px 5px;
  border-radius: 5px; border-left: 3px solid var(--c, var(--acc)); color: var(--ink);
  background: color-mix(in srgb, var(--c, var(--acc)) 18%, var(--panel)); }
.bdc-ev b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bdc-ev small { display: block; color: var(--ink-2, var(--mut)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bdc-ev .jn { position: absolute; right: 4px; top: 2px; font-size: 8px; color: var(--c, var(--acc)); }
.bdc-ev.ad { position: static; display: block; margin: 1px 0; white-space: nowrap; text-overflow: ellipsis; padding: 1px 5px; }
.bdc-ev.task { --c: var(--mut); background: var(--panel); border: 1px dashed var(--line); border-left: 3px solid var(--mut); }
.bdc-ev.task .tk { display: inline-block; width: 7px; height: 7px; border: 1.5px solid var(--mut); border-radius: 2px; margin-right: 4px; vertical-align: 0; }
.bdc-ev.busy { --c: var(--mut); background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--mut) 14%, var(--panel)) 0 6px, var(--panel) 6px 12px); color: var(--mut); }
.bdc-ev.prop { background: var(--panel); border: 1.5px dashed var(--c, var(--acc)); border-left-width: 3px; }
.bdc-ev.prop.declined { opacity: .55; text-decoration: line-through; }
.bdc-ev.meet { --c: var(--mut); }
.bdc-ev.ro { border-left-style: dotted; }
.bdc-ev.dragging { opacity: .35; }
.bdc-ev.ghost { opacity: .85; box-shadow: 0 4px 14px rgba(0,0,0,.18); z-index: 5; pointer-events: none; }
.bdc-ev.ghost.new { background: color-mix(in srgb, var(--acc) 22%, var(--panel)); border: 1px solid var(--acc); font-weight: 600; }
.bdc-legend { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.bdc-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--line); cursor: pointer; background: var(--panel); color: var(--ink); }
.bdc-chip i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.bdc-chip i.sq { border-radius: 2px; border: 1.5px solid var(--mut); width: 7px; height: 7px; }
.bdc-chip small { color: var(--mut); }
.bdc-chip.off { opacity: .45; text-decoration: line-through; }
.bdc-card h2 { margin: 2px 0 10px; }
.bdc-card > div { margin: 6px 0; font-size: 13.5px; }
.bdc-card b { font-weight: 600; margin-right: 4px; }
.bdc-when { font-size: 12.5px; }
.bdc-cal i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.bdc-atts { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.bdc-att { font-size: 12px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); }
.bdc-att.declined { text-decoration: line-through; opacity: .6; }
.bdc-notes { white-space: normal; color: var(--ink-2, var(--mut)); font-size: 12.5px; max-height: 180px; overflow: auto; margin-top: 3px; overflow-wrap: anywhere; }
.bdc-btns { margin-top: 12px; flex-wrap: wrap; }
.bdc-form label { display: block; font-size: 12px; color: var(--mut); margin: 8px 0 0; }
.bdc-form .inp { display: block; width: 100%; box-sizing: border-box; margin-top: 3px; }
.bdc-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }
.bdc-f2[hidden] { display: none; }
.bdc-chk { display: flex !important; align-items: center; gap: 6px; padding-bottom: 8px; color: var(--ink) !important; font-size: 13px !important; }
.bdc-chk input { width: auto; margin: 0; }
.bdc-span { margin: 10px 0 0; font-size: 13px; }
.bdc-span label { display: inline-flex; gap: 4px; margin: 0 8px 0 4px; color: var(--ink); font-size: 13px; }
.bdc-preview { margin-top: 10px; }
.bdc-plan { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 13px; background: color-mix(in srgb, var(--acc) 6%, var(--panel)); }
.bdc-plan div + div { margin-top: 2px; }
.bdc-list .bdc-ev { position: static; display: block; margin: 0 0 4px; padding: 6px 8px; font-size: 13px; }
@media (max-width: 480px) {
  .bdc { --gut: 36px; }
  .bdc-dh { padding: 5px 2px; font-size: 11px; }
  .bdc-dh b { font-size: 14px; }
  .bdc-ev { font-size: 11px; padding: 1px 3px; }
}
.bdc-more { font-size: 11px; color: var(--acc); cursor: pointer; padding: 1px 5px; }
.bdc-allrow .bdc-ad { max-height: 132px; overflow-y: auto; }
