/* Quiet event surfaces. Inline timing, duration and overlap positions stay intact. */
body.minimal-calm{
  --calendar-sales:#ab916b;
  --calendar-team:#9788a9;
}
body.minimal-calm.theme-dark{
  --calendar-sales:#b6a083;
  --calendar-team:#aa9abb;
}
body.minimal-calm #page-body :is(.cal-event,.month-event){
  --calendar-signal:var(--accent);
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--line);
  border-left-color:var(--calendar-signal);
  border-radius:6px;
  box-shadow:0 1px 2px rgb(0 0 0 / .025);
}
body.minimal-calm #page-body .cal-event.sales{--calendar-signal:var(--calendar-sales)}
body.minimal-calm #page-body .cal-event.team{--calendar-signal:var(--calendar-team)}
body.minimal-calm #page-body .cal-event{
  min-height:0;
  padding:2px 6px;
  line-height:1.3;
}
body.minimal-calm #page-body .cal-event strong{
  min-width:0;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow-wrap:anywhere;
  white-space:normal;
  color:var(--ink);
  font-size:12px;
  font-weight:550;
  line-height:15px;
}
body.minimal-calm #page-body .cal-event small{
  margin-top:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--secondary);
  font-size:11px;
  line-height:13px;
}
/* Short appointments keep a readable title; full details remain in the popup. */
body.minimal-calm #page-body .cal-event :is(strong,small){display:block}
body.minimal-calm #page-body .cal-event-compact{display:block;padding:1px 6px}
body.minimal-calm #page-body .cal-event-compact strong{font-size:11px;line-height:13px;-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis}
body.minimal-calm #page-body .cal-event-compact small{display:block;font-size:9px;line-height:11px}
body.minimal-calm #page-body .cal-event:hover{background:var(--soft);border-color:var(--secondary);border-left-color:var(--calendar-signal)}
body.minimal-calm #page-body .month-event{
  padding:4px 6px;
  margin-top:5px;
  font-size:10px;
  line-height:1.4;
  border-left-color:var(--line);
}

/* Direct scheduling keeps the same quiet grid and uses precise 15-minute slots. */
body.minimal-calm .calendar-grid.calendar-day-grid{grid-template-columns:48px minmax(0,1fr);min-width:0}
body.minimal-calm .cal-day{cursor:crosshair;touch-action:pan-x pan-y}
body.minimal-calm .cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
body.minimal-calm #page-body .cal-event{cursor:grab;touch-action:none;user-select:none}
body.minimal-calm #page-body .cal-event:active{cursor:grabbing}
body.minimal-calm .cal-resize-handle{position:absolute;bottom:0;left:0;width:100%;height:6px;cursor:ns-resize;touch-action:none}
body.minimal-calm .cal-resize-handle::after{content:'';position:absolute;left:calc(50% - 9px);bottom:1px;width:18px;height:2px;border-radius:2px;background:var(--secondary);opacity:0}
body.minimal-calm .cal-event:is(:hover,:focus-visible) .cal-resize-handle::after{opacity:.6}
body.minimal-calm #page-body .cal-event.cal-drag-source{opacity:.3}
body.minimal-calm .cal-selection-preview{position:absolute;left:4px;right:4px;z-index:5;overflow:hidden;border:1px solid var(--accent);border-radius:5px;background:var(--brand-wash);color:var(--accent);box-shadow:0 2px 6px rgb(20 60 60 / .08);padding:2px 5px;font-size:12px;font-weight:550;line-height:16px;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
body.minimal-calm .cal-gesture-active,body.minimal-calm .cal-gesture-active *{user-select:none;cursor:grabbing}
body.minimal-calm .cal-selecting-time .cal-day{touch-action:none}
body.minimal-calm .cal-interaction-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:10px;color:var(--secondary)}
body.minimal-calm .cal-touch-select{display:none}
body.minimal-calm .cal-announcement{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
body.minimal-calm .cal-month-more{display:block;color:var(--secondary);font-size:10px;margin-top:5px}
@media(pointer:coarse){
  body.minimal-calm .cal-touch-select{display:inline-flex}
  body.minimal-calm .cal-touch-select[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--brand-wash)}
  body.minimal-calm .cal-resize-handle{height:10px}
  body.minimal-calm .cal-resize-handle::after{opacity:.4}
}


/* The calendar uses the workspace height, with one shared hour scale. */
body.minimal-calm .main.page-calendar{height:auto;min-height:0;max-width:none;padding:8px 30px 12px;display:flex;flex-direction:column;overflow:hidden}
body.minimal-calm .page-calendar>.page-heading,body.minimal-calm .page-calendar>.page-footer{display:none}
body.minimal-calm .page-calendar #page-body{display:grid;flex:1;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(180px,1fr) auto;gap:6px 16px;min-height:0}
body.minimal-calm .page-calendar .calendar-toolbar{grid-column:1/-1;grid-row:1;gap:8px;margin-bottom:0;min-height:32px}
body.minimal-calm .page-calendar .calendar-toolbar :is(.toolbar-left,.toolbar-right){gap:6px}
body.minimal-calm .page-calendar .calendar-title{font-size:13px;margin-right:5px}
body.minimal-calm .page-calendar .calendar-scroll{grid-column:1/-1;grid-row:2;min-height:0;max-height:none;border-radius:8px;overscroll-behavior:contain}
body.minimal-calm .page-calendar .cal-head{height:42px;padding-top:4px;font-size:10px}
body.minimal-calm .page-calendar .cal-head strong{font-size:16px;line-height:20px;margin-top:0}
body.minimal-calm .page-calendar :is(.cal-time,.cal-day){height:var(--calendar-day-height)}
body.minimal-calm .page-calendar .cal-time span{font-size:9px;line-height:12px}
body.minimal-calm .page-calendar .cal-day{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height) - 1px),var(--line) calc(var(--calendar-hour-height) - 1px),var(--line) var(--calendar-hour-height))}
/* A single footer row leaves more height for the schedule. */
body.minimal-calm .page-calendar .cal-interaction-hint{grid-column:2;grid-row:3;margin:0;gap:8px;font-size:9px;line-height:14px;align-self:center}
body.minimal-calm .page-calendar .calendar-key{grid-column:1;grid-row:3;margin:0;gap:8px;align-items:center;align-self:center;font-size:9px;line-height:14px;flex-wrap:wrap}
body.minimal-calm .page-calendar .calendar-key .status{font-size:9px;padding:1px 5px}
body.minimal-calm .page-calendar .cal-touch-select{font-size:10px;min-height:28px;padding:3px 8px}
body.minimal-calm .page-calendar .calendar-month{min-height:100%;grid-template-rows:30px repeat(6,minmax(80px,1fr))}
body.minimal-calm .page-calendar .month-head{padding:7px}
body.minimal-calm .page-calendar .month-day{min-height:0;padding:6px}

/* Readable time-grid details, a separate all-day lane and current-time marker. */
body.minimal-calm .page-calendar .calendar-grid:not(.calendar-day-grid){min-width:980px}
body.minimal-calm .page-calendar .cal-head{z-index:7}
body.minimal-calm .page-calendar .cal-head time{display:block}
body.minimal-calm .page-calendar :is(.cal-all-day-label,.cal-all-day){position:sticky;top:42px;z-index:6;min-height:34px;border-bottom:1px solid var(--line);background:var(--surface)}
body.minimal-calm .page-calendar .cal-all-day-label{padding:9px 5px;border-right:1px solid var(--line);color:var(--secondary);font-size:9px;text-align:right}
body.minimal-calm .page-calendar .cal-all-day{display:flex;flex-direction:column;gap:3px;padding:4px;border-right:1px solid var(--line)}
body.minimal-calm .page-calendar .cal-all-day.today{background:color-mix(in srgb,var(--brand-wash) 45%,var(--surface))}
body.minimal-calm .page-calendar .cal-all-day-event{min-width:0;padding:3px 5px;border:1px solid var(--line);border-left:2px solid var(--calendar-team);border-radius:5px;background:var(--soft);color:var(--ink);font-size:10px;line-height:14px;text-align:left}
body.minimal-calm .page-calendar .cal-all-day-event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}
body.minimal-calm .page-calendar .cal-now{position:absolute;left:0;right:0;z-index:5;height:2px;background:#e0524d;box-shadow:0 0 0 1px rgb(255 255 255 / 38%);pointer-events:none}
body.minimal-calm .page-calendar .cal-now i{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:#e0524d}
body.minimal-calm .page-calendar .cal-now time{position:absolute;left:8px;top:-10px;padding:2px 5px;border-radius:5px;background:#e0524d;color:#fff;font-size:9px;font-weight:650;line-height:16px;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px rgb(70 20 20 / 18%)}
body.minimal-calm .page-calendar .cal-overlap-note{display:flex;align-items:center;gap:10px;flex-basis:100%;padding:7px 10px;border-radius:8px;background:var(--brand-wash);color:var(--secondary);font-size:11px}
body.minimal-calm .page-calendar .cal-overlap-note span{margin-right:auto}

/* Agenda is the readable fallback for dense schedules and narrow screens. */
body.minimal-calm .calendar-mobile-agenda{display:none}
body.minimal-calm .page-calendar>.page-heading+ #page-body>.calendar-agenda:not(.calendar-mobile-agenda),body.minimal-calm .page-calendar #page-body>.calendar-agenda:not(.calendar-mobile-agenda){grid-column:1/-1;grid-row:2;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
body.minimal-calm .cal-agenda-day+ .cal-agenda-day{border-top:1px solid var(--line)}
body.minimal-calm .cal-agenda-day>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--soft);color:var(--secondary);font-size:10px}
body.minimal-calm .cal-agenda-day>header time{color:var(--ink);font-size:11px;font-weight:550}
body.minimal-calm .cal-agenda-event{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:12px 14px;border-top:1px solid var(--line);text-align:left}
body.minimal-calm .cal-agenda-event:hover{background:var(--brand-wash)}
body.minimal-calm .cal-agenda-event>time{color:var(--secondary);font-size:11px;font-variant-numeric:tabular-nums}
body.minimal-calm .cal-agenda-event strong{display:block;font-size:12px;font-weight:550}
body.minimal-calm .cal-agenda-event small{display:block;margin-top:2px;color:var(--secondary);font-size:10px}
body.minimal-calm .cal-agenda-day>p{padding:14px;color:var(--secondary);font-size:11px}
@media(max-width:1100px){
  body.minimal-calm .page-calendar .cal-interaction-hint>span:first-child{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
  body.minimal-calm .page-calendar .calendar-key>span:not(.status){display:none}
}
@media(max-width:850px){
  body.minimal-calm .main.page-calendar{padding-inline:24px}
}
@media(max-width:600px){
  body.minimal-calm .main.page-calendar{padding:8px 12px 4px}
  body.minimal-calm .page-calendar #page-body{column-gap:8px}
  body.minimal-calm .page-calendar .calendar-toolbar{gap:6px;margin-bottom:0}
  body.minimal-calm .page-calendar .calendar-toolbar .toolbar-right{gap:6px;justify-content:flex-start}
  body.minimal-calm .page-calendar .calendar-toolbar .toolbar-right #new-event{margin-left:auto}
  body.minimal-calm .page-calendar .calendar-key{gap:7px}
}
@media(max-width:760px){
  body.minimal-calm .page-calendar #page-body{display:flex;flex-direction:column;overflow:auto}
  body.minimal-calm .page-calendar .calendar-scroll:has(.calendar-grid){display:none}
  body.minimal-calm .page-calendar .calendar-mobile-agenda{display:block;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
  body.minimal-calm .page-calendar .cal-interaction-hint{display:none}
  body.minimal-calm .page-calendar .calendar-key{order:4;margin-top:8px}
  body.minimal-calm .cal-agenda-event{grid-template-columns:88px minmax(0,1fr) auto;padding:11px 12px;gap:10px}
}

/* Owners stay visible without changing the appointment's time or hit area. */
body.minimal-calm #page-body .cal-event:has(.cal-event-owner){display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
body.minimal-calm #page-body .cal-event:has(.cal-event-owner)>strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
body.minimal-calm #page-body .cal-event-owner{position:absolute;bottom:3px;left:6px;right:6px;display:flex;align-items:center;min-width:0;font-size:9px;line-height:14px;pointer-events:none}
body.minimal-calm #page-body .cal-event-owner .hq-record-identity{gap:4px;max-width:100%;color:inherit}
body.minimal-calm #page-body .cal-event-owner .hq-record-avatar{flex-basis:14px;width:14px;height:14px;background:var(--calendar-fill);color:inherit}
body.minimal-calm #page-body .cal-event-owner .hq-record-avatar img{width:14px;height:14px}
body.minimal-calm #page-body .cal-event-owner .hq-record-initials{font-size:8px}
body.minimal-calm #page-body .cal-event-owner .hq-record-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.minimal-calm #page-body .cal-event.cal-owner-compact{padding-right:26px}
body.minimal-calm #page-body .cal-owner-compact .cal-event-owner{inset:4px 5px auto auto;width:18px}
body.minimal-calm #page-body .cal-owner-compact .hq-record-avatar{flex-basis:18px;width:18px;height:18px}
body.minimal-calm #page-body .cal-owner-compact .hq-record-avatar img{width:18px;height:18px}
body.minimal-calm #page-body .cal-owner-compact .hq-record-label{display:none}
