/* Calendar Ask Coach. The panel floats. It never changes the calendar's width. */
body.coach-calendar .results{padding-bottom:88px}
.activity-coach-button{position:fixed;z-index:8;right:max(20px,env(safe-area-inset-right));
  bottom:calc(20px + env(safe-area-inset-bottom));display:grid;place-items:center;
  width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--accent);
  color:var(--on-accent);box-shadow:0 4px 20px #0003;cursor:pointer}
.activity-coach-button .activity-coach-mark{width:22px;height:22px;--accent:var(--on-accent)}
.activity-coach-button[hidden]{display:none}
@media(max-width:959px){.activity-coach-button{bottom:calc(92px + env(safe-area-inset-bottom))}}
dialog.activity-coach-panel{position:fixed;z-index:30;inset:auto;margin:0;
  top:auto;bottom:calc(100dvh - var(--coach-vtop,0px) - var(--coach-vh,100dvh) + 16px + env(safe-area-inset-bottom));
  right:max(16px,env(safe-area-inset-right));left:auto;
  width:min(710px,calc(100vw - 32px));height:calc(var(--coach-vh,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  max-width:none;max-height:none;padding:0;border:1px solid var(--separator);border-radius:var(--radius-panel);
  background:var(--bg);color:var(--ink);box-shadow:0 12px 48px #0005;overflow:hidden}
dialog.activity-coach-panel[open]{display:flex;flex-direction:column}
dialog.activity-coach-panel.coach-sheet{width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
  right:calc(12px + env(safe-area-inset-right));bottom:auto;
  top:calc(var(--coach-vtop,0px) + max(32px,env(safe-area-inset-top)));
  height:calc(var(--coach-vh,100dvh) - max(32px,env(safe-area-inset-top)) - 12px - env(safe-area-inset-bottom));
  border-radius:24px}
.activity-coach-panel::backdrop{background:#0005}
.activity-coach-header{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px 10px 18px;flex:none;border-bottom:1px solid var(--separator)}
.activity-coach-header h2{margin:0;font-size:var(--font-headline);font-weight:var(--weight-bold)}
.activity-coach-close{width:44px;height:44px;display:grid;place-items:center;flex:none;
  border:0;border-radius:var(--radius-button);color:var(--accent);background:var(--card);cursor:pointer}
.activity-coach-close .icon{width:19px;height:19px}
.activity-coach-close[hidden]{display:none}

.ask-title{display:flex;align-items:center;gap:10px;min-width:0}
.ask-title .ask-brand{width:22px;height:22px;flex:none}
.ask-title .ask-brand[hidden]{display:none !important}
.ask-tools{display:flex;gap:8px;flex:none}
.ask-main{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px 16px 16px}
.ask-empty{display:flex;flex-direction:column;gap:12px;padding-top:8px}
.ask-empty b{font-size:var(--font-title3)}
.ask-empty p{margin:0}
.ask .chip{padding:8px 14px;border:0;border-radius:var(--radius-pill);background:var(--chip-unselected);color:var(--ink);
  font:inherit;font-size:var(--font-subheadline);font-weight:var(--weight-medium);text-align:left;cursor:pointer;align-self:flex-start}
.ask .msg{display:flex;flex-direction:column;gap:6px;max-width:86%}
.ask .msg.me{align-self:flex-end;align-items:flex-end}
.ask .msg.coach{align-self:stretch;max-width:none;flex-direction:row;gap:8px;align-items:flex-start}
.ask .bubble{padding:10px 13px;border-radius:16px;font-size:var(--font-subheadline);line-height:1.45;background:var(--card)}
.ask .msg.coach .bubble{flex:1;display:flex;flex-direction:column;gap:8px;background:var(--chip-unselected);min-width:0}
.ask .msg.me .bubble{background:var(--accent);color:var(--on-accent)}
.ask .avatar{width:24px;height:24px;flex:none;border-radius:50%;background:var(--chip-unselected);display:grid;place-items:center}
.ask .avatar .activity-coach-mark{width:15px;height:15px}
.ask .composer{display:flex;gap:8px;align-items:center;padding:10px 16px;flex:none;border-top:1px solid var(--separator)}
.ask .composer[hidden]{display:none}
.ask .composer input{flex:1;min-width:0;padding:11px 14px;border:0;border-radius:var(--radius-pill);background:var(--card);
  color:var(--ink);font:inherit;font-size:var(--font-subheadline)}
.ask .composer input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ask .composer .send,.ask .ask-mic{width:38px;height:38px;flex:none;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0}
.ask .composer .send{background:var(--accent);opacity:.4}
.ask .composer .send:enabled{opacity:1}
.ask .composer .send .icon{width:16px;height:16px;color:var(--on-accent)}
.ask .ask-mic{background:var(--card);color:var(--ink)}
.ask .ask-mic .icon{width:18px;height:18px}
.ask .ask-mic[hidden]{display:none}
.ask .ask-mic.on{background:var(--accent);color:var(--on-accent)}
.ask .ccard{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:var(--radius-card);background:var(--card)}
.ask .obs{display:flex;gap:8px;align-items:flex-start;padding:6px 10px;border-radius:10px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);font-weight:var(--weight-semibold)}
.ask .obs .icon{width:16px;height:16px;flex:none;color:var(--accent);margin-top:2px}
.ask .lab{display:flex;justify-content:space-between;gap:8px;font-size:var(--font-caption);color:var(--ink-secondary)}
.ask .lab span:first-child{font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}
.ask .tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ask .tile{background:var(--bg);border-radius:var(--radius-tile);padding:6px 8px;display:flex;flex-direction:column;gap:2px}
.ask .tile small{font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--ink-secondary);text-transform:uppercase}
.ask .tile b{font-size:var(--font-title3);font-variant-numeric:tabular-nums}
.ask .tile span{font-size:var(--font-caption);color:var(--ink-secondary)}
.ask .arow{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}
.ask .arow .b{font-size:var(--font-caption);color:var(--ink-secondary);text-align:right}
.ask .grow{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.ask .grow > span:last-child{margin-left:auto;text-align:right}
.ask .grow small{display:block;font-size:var(--font-caption);color:var(--ink-secondary)}
.ask hr{border:0;border-top:1px solid var(--separator);margin:2px 0}
.ask .muted{color:var(--ink-secondary)}
.ask .attn{color:var(--attention);font-weight:var(--weight-semibold)}
.ask .ask-wait{display:flex;align-items:center;gap:8px;color:var(--ink-secondary)}
.ask .ask-wait .ox-spin{width:18px;height:18px;display:inline-grid;place-items:center}
.ask .ask-wait .activity-coach-mark{width:18px;height:18px}
.ask .ask-offline{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ask .ask-offline .btn{align-self:flex-start}
.ask .ask-pro{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ask .ask-pro .btn{flex:none}
.ask .earlier{display:flex;align-items:center;gap:8px;width:100%;padding:12px;border:0;border-radius:14px;
  background:var(--card);color:var(--ink);font:inherit;font-weight:var(--weight-medium);cursor:pointer;text-align:left}
.ask .earlier span{flex:1}
.ask .earlier .icon{width:18px;height:18px;color:var(--accent)}
.ask .hist{display:flex;flex-direction:column;gap:14px;padding:4px 0 8px}
.ask .hlist{background:var(--card);border-radius:var(--radius-list,16px)}
.ask .hrow{width:100%;padding:12px;display:flex;flex-direction:column;gap:3px;border:0;border-top:1px solid var(--separator);
  background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ask .hrow:first-child{border-top:0}
.ask .hrow b{font-size:var(--font-subheadline)}
.ask .hrow span{font-size:var(--font-footnote);color:var(--ink-secondary)}
.ask .hrow small{font-size:var(--font-caption);color:var(--ink-tertiary)}
.ask .ask-clear{align-self:center;color:var(--destructive)}
.ask .ccard small .icon{width:12px;height:12px;vertical-align:-1px}
/* Limited, escaped Coach Markdown; tables scroll inside the existing bubble. */
.ask-markdown{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ask-markdown p{margin:0 0 8px}
.ask-markdown h3{font:inherit;font-weight:700;margin:12px 0 6px}
.ask-markdown ul,.ask-markdown ol{padding-left:20px;margin:6px 0 10px}
.ask-markdown li{margin:4px 0}
.ask-table-scroll{max-width:100%;overflow-x:auto;margin:8px 0 12px}
.ask-table-scroll table{border-collapse:collapse;min-width:100%;font:inherit}
.ask-table-scroll th,.ask-table-scroll td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--separator);white-space:nowrap}
.ask-followups{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
