/* Events and assumptions (0.60): calendar strip, register, add-event dialog. Prefix ev-. */
.ev-lead { max-width: 760px; margin-top: 8px !important; }
.ev-empty { max-width: 640px; }
.ev-empty > * + * { margin-top: 10px; }

/* kind colours */
.ev-k-promo { --ev-c: var(--orange); --ev-s: var(--orange-soft); --ev-t: var(--orange-d); }
.ev-k-launch_out { --ev-c: #5B6475; --ev-s: #ECEEF2; --ev-t: #3E4555; }
.ev-k-lost_customer { --ev-c: var(--bad); --ev-s: var(--bad-soft); --ev-t: #8A2414; }
.ev-k-new_customer { --ev-c: var(--ok); --ev-s: var(--ok-soft); --ev-t: #145C33; }
.ev-k-price { --ev-c: var(--blue); --ev-s: #E6EDF8; --ev-t: #2B4F8A; }
.ev-k-other { --ev-c: #9AA7C2; --ev-s: var(--navy-soft); --ev-t: var(--navy-2); }
.ev-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: var(--ev-c); flex: none; }
.ev-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--ink-2); }
.ev-legend span { display: inline-flex; align-items: center; gap: 6px; }

/* calendar strip */
.ev-cal-card .card-h { flex-wrap: wrap; }
.ev-cal-scroll { overflow-x: auto; margin: 0 -4px; padding: 0 4px 4px; }
.ev-cal { --colw: 34px; display: grid; grid-template-columns: minmax(150px, 210px) minmax(calc(var(--cols) * var(--colw)), 1fr); row-gap: 4px; align-items: center; }
.ev-cal-hd { font-size: 11.5px; font-weight: 650; color: var(--ink-3); }
.ev-cal-periods, .ev-track { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
.ev-cal-periods { border-bottom: 1px solid var(--line); padding-bottom: 6px; }
.ev-cal-periods span { font-size: 11px; color: var(--ink-3); text-align: center; white-space: nowrap; overflow: visible; }
.ev-cal-l { font-size: 12.5px; padding-right: 10px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-cal-l.ev-cont { height: 1px; }
.ev-track { position: relative; min-height: 26px; align-items: center; column-gap: 0;
  background-image: linear-gradient(to right, var(--line-2) 1px, transparent 1px); background-size: calc(100% / var(--cols)) 100%; border-radius: 6px; }
.ev-bar { height: 22px; margin: 0 2px; border: 0; border-left: 3px solid var(--ev-c); background: var(--ev-s); color: var(--ev-t); border-radius: 5px;
  font: 650 11.5px var(--font); padding: 0 6px; text-align: left; cursor: pointer; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ev-bar:hover { filter: brightness(.96); box-shadow: 0 1px 4px rgba(18,37,90,.15); }
.ev-bar span { overflow: hidden; text-overflow: ellipsis; }

/* register */
.ev-reg-card .card-h { flex-wrap: wrap; }
.ev-filter { margin-bottom: 12px; }
.ev-tbl-wrap { max-height: 70vh; }
.ev-tbl td { vertical-align: top; }
.ev-tbl .ev-nowrap { white-space: nowrap; }
.ev-scope-td { min-width: 180px; max-width: 320px; }
.ev-scope { display: inline; }
.ev-scope .ev-name { font-weight: 600; color: var(--navy-3); }
.ev-note:empty { display: none; }
.ev-note { margin-top: 2px; font-style: italic; }
.ev-kind { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 11px; font-size: 11.5px; font-weight: 700;
  background: var(--ev-s); color: var(--ev-t); white-space: nowrap; }
.ev-up { color: var(--ok); font-weight: 650; }
.ev-down { color: var(--bad); font-weight: 650; }
.ev-del { width: 30px; height: 30px; color: var(--ink-3); }
.ev-del:hover { color: var(--bad); }
.ev-hint { background: var(--navy-soft); border-radius: 10px; padding: 16px 18px; max-width: 720px; }
.ev-hint > * + * { margin-top: 8px; }

/* add-event dialog */
.ev-form div.field > span:first-child { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink-2); margin-bottom: 6px; }
.ev-form > * + * { margin-top: 14px; }
.ev-kinds { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-kbtn { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 16px; background: #fff;
  font: 600 13px var(--font); color: var(--ink-2); cursor: pointer; }
.ev-kbtn:hover { border-color: #C9D2E3; }
.ev-kbtn.on { border-color: var(--ev-c, var(--navy)); background: var(--navy); color: #fff; }
.ev-kbtn .ev-dot { background: var(--ev-c); }
.ev-kbtn.on .ev-dot { box-shadow: 0 0 0 2px #fff; }
.ev-scope-body { margin-top: 10px; }
.ev-segs { display: flex; flex-wrap: wrap; gap: 8px; }
.ev-segwrap { display: inline-flex; align-items: center; gap: 2px; }
.ev-segbtn { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; min-width: 150px; max-width: 260px; padding: 6px 12px; border: 1px solid var(--line);
  border-radius: var(--radius-s); background: #fff; font: 600 13px var(--font); color: var(--ink); cursor: pointer; text-align: left; overflow: hidden; }
.ev-segbtn:hover { border-color: #C9D2E3; }
.ev-segbtn.on { border-color: var(--orange); background: var(--orange-soft); }
.ev-segbtn > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-seg-l { font-size: 11px; font-weight: 650; color: var(--ink-3); }
.ev-clr { width: 26px; height: 26px; font-size: 12px; }
.ev-items { gap: 6px; }
.ev-pill { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.ev-when { align-items: end; }
.ev-open-v { height: 38px; display: flex; align-items: center; font-size: 13px; color: var(--ink-2); }
.ev-form textarea { min-height: 56px; }
.ev-prev { margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; background: #FAFBFD; min-height: 44px; }
.ev-prev-h { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); margin-bottom: 8px; }
.ev-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ev-facts > div { display: flex; flex-direction: column; gap: 2px; }
.ev-facts b { font-size: 16px; color: var(--navy-3); }
.ev-facts b.ev-up { color: var(--ok); } .ev-facts b.ev-down { color: var(--bad); }
.ev-facts span { font-size: 12px; color: var(--ink-2); }

@media (max-width: 760px) {
  .ev-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-when.g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-cal { grid-template-columns: 120px minmax(calc(var(--cols) * var(--colw)), 1fr); }
}
/* 0.70: editing an assumption */
.ev-row-edit { cursor: pointer; }
.ev-row-edit:hover td { background: #FAFBFD; }
.ev-acts { white-space: nowrap; }
.ev-edit { width: 30px; height: 30px; color: var(--ink-3); }
.ev-edit:hover { color: var(--navy-3); }

/* 0.72: the shared filter (scope.js) above the calendar, and the note while it is on */
.ev-scope-box .scopebar { border: 1px solid var(--line); border-radius: 10px; overflow-x: auto; }
.ev-scope-box .scope-items { border: 0; background: none; padding: 6px 2px 0; }
.ev-fnote-wrap:empty { display: none; }
.ev-fnote { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
