/* Agenda · approved Hermelo catalog tokens, evergreen action, restrained density.
   Day grid is a time representation; mobile uses the same records as a list. */
.cal-workspace { max-width:1440px;margin:0 auto; }
.planning-panel { margin:0 0 32px;padding:24px 32px;border:1px solid var(--cat-border);border-radius:16px;background:var(--cat-surface);color:var(--cat-text); }
.planning-head { display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px; }
.planning-head h2 { margin:0 0 8px;font-size:24px;line-height:1.2;letter-spacing:-.02em; }
.planning-head p,.planning-panel>p { margin:0;color:var(--cat-muted);font-size:14px;line-height:1.5; }
.planning-head a,.planning-actions a,.planning-action { color:var(--cat-accent);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap; }
.planning-periods { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px; }
.planning-periods button { min-height:40px;padding:8px 16px;border:1px solid var(--cat-control);border-radius:8px;background:var(--cat-surface);color:var(--cat-text);font-size:14px;font-weight:600;cursor:pointer; }
.planning-periods button[aria-pressed=true] { background:var(--cat-accent);border-color:var(--cat-accent);color:var(--cat-surface); }
.planning-periods button:focus-visible,.planning-panel a:focus-visible { outline:2px solid var(--cat-accent);outline-offset:3px; }
.planning-primary { display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:32px;padding:24px 0;border-top:1px solid var(--cat-border);border-bottom:1px solid var(--cat-border); }
.planning-primary>div { min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px; }
.planning-primary span { color:var(--cat-muted);font-size:14px; }
.planning-primary strong { font-size:30px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums; }
.planning-primary small { color:var(--cat-muted);font-size:13px;line-height:1.5; }
.planning-breakdown { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0; }
.planning-breakdown p { margin:0;color:var(--cat-muted);font-size:14px;line-height:1.5; }
.planning-breakdown strong { color:var(--cat-text);font-weight:700;white-space:nowrap; }
.planning-team { margin:8px 0 24px; }
.planning-team h3 { margin:0 0 16px;font-size:16px; }
.planning-team-row { display:grid;grid-template-columns:minmax(120px,1fr) repeat(3,minmax(96px,auto));gap:16px;padding:12px 0;border-top:1px solid var(--cat-border);font-size:14px;font-variant-numeric:tabular-nums; }
.planning-team-row span { text-align:right; }
.planning-explanation { margin:0;color:var(--cat-muted);font-size:13px;line-height:1.5;max-width:90ch; }
.planning-actions { display:flex;flex-wrap:wrap;gap:24px;margin-top:24px; }
.planning-action { display:inline-block;margin-top:16px; }
@media(max-width:900px) { .planning-primary { grid-template-columns:1fr 1fr; } .planning-primary>div:first-child { grid-column:1/-1; } .planning-breakdown { grid-template-columns:1fr;gap:12px; } }
@media(max-width:640px) { .planning-panel { padding:24px 16px; } .planning-head { display:block; } .planning-head a { display:inline-block;margin-top:12px; } .planning-primary { grid-template-columns:1fr;gap:24px; } .planning-primary>div:first-child { grid-column:auto; } .planning-team-row { grid-template-columns:1fr 1fr;gap:8px; } .planning-team-row span { text-align:left; } .planning-periods button { flex:1 0 calc(33.333% - 8px); } }
.cal-breadcrumb { display:flex;gap:12px;font-size:14px;color:var(--cat-muted);margin-bottom:24px; }
.cal-breadcrumb span { color:var(--cat-border); }
.cal-heading { display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px; }
.cal-heading h1 { font-size:36px;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px; }
.cal-heading p { font-size:16px;color:var(--cat-muted);margin:0; }
.cal-summary { display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--cat-border);border-radius:16px;background:var(--cat-surface);overflow:hidden;margin-bottom:32px; }
.cal-summary:empty { display:none; }
.cal-summary-toggle { display:none; }
.cal-summary :is(article,button) { padding:24px;display:flex;flex-direction:column;gap:8px;min-width:0; }
.cal-summary :is(article,button)+:is(article,button) { border-left:1px solid var(--cat-border); }
.cal-summary :is(article,button)>span { font-size:14px;color:var(--cat-muted); }
.cal-summary strong { font-size:30px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums; }
.cal-summary small { font-size:13px;color:var(--cat-muted);line-height:1.5; }
.cal-summary .is-highlight { background:var(--cat-tint); }
.cal-summary .is-highlight :is(strong,span,small) { color:var(--cat-accent); }
.cal-board { border:1px solid var(--cat-border);border-radius:16px;background:var(--cat-surface);min-width:0;overflow:hidden; }
.cal-commandbar { display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px; }
.cal-date-nav { display:flex;align-items:center;gap:8px;min-width:0; }
.cal-date-nav .form-input { width:160px;margin-left:8px;min-height:44px;font-size:16px; }
.cal-viewbar { display:flex;align-items:center;gap:8px; }
.cal-workspace .cal-step { min-width:44px;padding:4px;font-size:24px;line-height:1; }
.cal-views { display:flex;gap:4px;padding:4px;background:var(--cat-subtle);border-radius:8px; }
.cal-views button { min-height:40px;padding:8px 24px;border:0;border-radius:6px;background:transparent;color:var(--cat-muted);font-size:14px;font-weight:600;cursor:pointer; }
.cal-views [aria-pressed=true] { background:var(--cat-surface);color:var(--cat-text);box-shadow:0 1px 3px hsl(0 0% 0% / .1); }
.cal-filterbar { display:flex;gap:16px;flex-wrap:wrap;padding:0 24px 24px;border-bottom:1px solid var(--cat-border); }
.cal-search { display:flex;align-items:center;position:relative;flex:1;min-width:220px; }
.cal-search svg { position:absolute;left:16px;color:var(--cat-muted); }
.cal-search input { width:100%;min-height:48px;background:var(--cat-surface);border:1px solid var(--cat-control);border-radius:8px;color:var(--cat-text);font-size:16px;padding:12px 16px 12px 48px; }
.cal-workspace .cal-filterbar .form-select { width:auto;min-width:180px;max-width:100%;min-height:48px;font-size:14px; }
.cal-filter-toggle { display:none; }
.cal-filterbar [hidden] { display:none; }
.cal-period { display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:24px; }
.cal-period h2 { margin:0;font-size:18px;line-height:1.5; }
.cal-period>span { margin-left:auto;font-size:13px;color:var(--cat-muted); }
.cal-period button { border:0;background:none;color:var(--cat-accent);font-weight:600;font-size:14px;min-height:44px;cursor:pointer; }
.cal-footnote { margin:0;padding:16px 24px;color:var(--cat-muted);font-size:13px;line-height:1.5;border-top:1px solid var(--cat-border); }
.cal { --cal-step:72px;--cal-min:calc(var(--cal-step) / 30);--cal-gutter:64px;--cal-colmin:192px; }
.cal-scroll { overflow:auto;max-height:640px;min-height:384px;overscroll-behavior:contain;border-top:1px solid var(--cat-border); }
.cal-grid { display:grid;grid-template-columns:var(--cal-gutter) repeat(var(--cal-cols),minmax(var(--cal-colmin),1fr));min-width:100%;position:relative; }
.cal-corner,.cal-prof { position:sticky;top:0;background:var(--cat-surface);border-bottom:1px solid var(--cat-border);min-height:72px;z-index:4; }
.cal-corner { left:0;z-index:6;display:grid;place-items:center;color:var(--cat-muted); }
.cal-prof { display:flex;align-items:center;gap:8px;padding:12px;border-left:1px solid var(--cat-border);min-width:0; }
.cal-prof>div { min-width:0; }
.cal-prof strong { display:block;font-size:14px;font-weight:600;line-height:1.5;white-space:normal; }
.cal-prof small { display:block;font-size:13px;line-height:1.5;color:var(--cat-muted); }
.cal-prof-load { margin-left:auto;font-size:13px;color:var(--cat-muted); }
.cal-avatar { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--cat-tint);color:var(--cat-accent);font-size:13px;font-weight:600; }
.cal-times { position:sticky;left:0;z-index:3;background:var(--cat-surface); }
.cal-time { height:var(--cal-step);border-top:1px solid var(--cat-border);padding:8px;font-size:13px;color:var(--cat-muted);text-align:center;font-variant-numeric:tabular-nums;box-sizing:border-box; }
.cal-time.is-half { border-top-color:transparent; }
.cal-col { position:relative;border-left:1px solid var(--cat-border); }
.cal-slot { display:block;width:100%;height:var(--cal-step);background:transparent;border:0;border-top:1px solid var(--cat-subtle);padding:8px;text-align:left;box-sizing:border-box;cursor:pointer; }
.cal-slot.is-hour { border-top-color:var(--cat-border); }
.cal-slot:not(:disabled):hover { background:var(--cat-tint); }
.cal-slot:not(:disabled):hover:after { content:'+';font-size:18px;color:var(--cat-accent); }
.cal-slot.is-unavailable { background:var(--cat-bg);cursor:default; }
.cal-slot>span { font-size:13px;color:var(--cat-muted); }
.cal-block { position:absolute;z-index:1;display:flex;flex-direction:column;gap:4px;text-align:left;overflow:hidden;padding:8px 12px;background:var(--cat-surface);border:1px solid var(--cat-border);border-left:4px solid var(--cat-control);border-radius:8px;box-shadow:0 1px 3px hsl(0 0% 0% / .1);color:var(--cat-text);cursor:pointer; }
.cal-block:hover { outline:1px solid var(--cat-action); }
.cal-block.is-ok { border-left-color:var(--cat-action);background:var(--cat-tint); }
.cal-block.is-now { border-left-color:var(--cat-action);background:var(--cat-tint); }
.cal-block.is-bad { border-left-color:var(--cal-warning-text); }
.cal-block-time { display:block;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--cat-muted);white-space:nowrap; }
.cal-block-name { display:block;font-size:14px;line-height:1.5;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%; }
.cal-block-svc { display:block;font-size:13px;line-height:1.5;color:var(--cat-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%; }
.cal-block:is(.is-ok,.is-now) :is(.cal-block-time,.cal-block-name,.cal-block-svc) { color:var(--cat-accent); }
.cal-block-alert { font-size:13px;color:var(--cal-warning-text); }
.cal-block.is-compact { padding-block:4px;gap:0; }
.cal-block.is-compact .cal-block-svc { display:none; }
.cal-block-top { display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0; }
.cal-block-state { font-size:13px;line-height:1.5;color:var(--cat-muted); }
.cal-block.is-short-recurrence .cal-block-svc { display:none; }
.cal-block.has-recurrence { gap:2px; }
.cal-block.has-recurrence.is-compact { gap:0; }
.cal-recurrence-tag { display:inline-flex;align-items:center;gap:4px;font:600 12px/1.5 var(--font-ui);padding:0 6px;border:1px solid var(--cat-accent);border-radius:4px;color:var(--cat-accent);background:var(--cat-tint);white-space:nowrap; }
.cal-recurrence-tag.is-avulso { border-color:var(--cat-border);color:var(--cat-muted);background:transparent; }
.cal-list-client>.cal-recurrence-tag { display:inline-flex;margin-top:8px;color:var(--cat-accent);font-size:13px; }
.cal-list-client>.cal-recurrence-tag.is-avulso { color:var(--cat-muted); }
.cal-week-cycle { flex-basis:100%; }
.cal-return { padding:16px;margin-bottom:24px;border:1px solid var(--cat-border);border-radius:8px;background:var(--cat-bg); }
.cal-return.is-reserved { background:var(--cat-tint);border-color:var(--cat-action); }
.cal-return>strong { display:block;font-size:16px; }
.cal-return p { margin:8px 0;color:var(--cat-muted); }
.cal-return small { display:block;margin-top:8px;color:var(--cat-muted); }
.cal-return .btn { margin-top:8px; }
.cal-now-line { position:absolute;left:var(--cal-gutter);right:0;height:2px;background:var(--cal-warning-text);z-index:2;pointer-events:none; }
.cal-now-line:before { content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--cal-warning-text); }
.cal-block-tag { display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:600;line-height:1.5;background:var(--cat-subtle);color:var(--cat-muted);white-space:normal; }
.cal-block-tag:is(.is-ok,.is-now) { background:var(--cat-tint);color:var(--cat-accent); }
.cal-block-tag.is-bad { background:var(--cal-warning-bg);color:var(--cal-warning-text); }
.cal-block-tag.is-overdue { background:var(--cal-warning-bg);color:var(--cal-warning-text); }
.cal-mobile-day { display:none; }
.cal-mobile-day.is-forced,.cal.is-list-view .cal-mobile-day { display:block; }
.cal-list-row { display:grid;grid-template-columns:80px minmax(160px,1fr) 192px 24px;align-items:center;gap:24px;width:100%;text-align:left;padding:24px;background:transparent;border:0;border-top:1px solid var(--cat-border);color:var(--cat-text);cursor:pointer; }
.cal-list-row:hover { background:var(--cat-bg); }
.cal-list-row>span { min-width:0; }
.cal-list-time strong { font-size:18px;font-weight:600; }
.cal-list-time small { display:block;font-size:13px;color:var(--cat-muted);margin-top:4px; }
.cal-list-client strong { display:block;font-size:16px;font-weight:600; }
.cal-list-client>span { display:block;font-size:14px;color:var(--cat-muted);margin-top:4px; }
.cal-list-client small,.cal-list-state small { display:block;font-size:13px;color:var(--cat-muted);margin-top:4px; }
.cal-list-arrow { font-size:24px;color:var(--cat-muted); }
.cal-empty { padding:48px 24px;text-align:center;color:var(--cat-muted); }
.cal-empty h3 { color:var(--cat-text);margin:16px 0 8px;font-size:20px; }
.cal-empty p { margin:0;font-size:14px; }
.cal-week-scroll { overflow:auto; }
.cal-week { display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));border-top:1px solid var(--cat-border); }
.cal-week-day { border-right:1px solid var(--cat-border);min-width:0; }
.cal-week-day:last-child { border-right:0; }
.cal-week-head { display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:var(--cat-bg);border:0;border-bottom:1px solid var(--cat-border);color:var(--cat-text);padding:16px;cursor:pointer; }
.cal-week-dow { font-size:13px;color:var(--cat-muted); }
.cal-week-date { font-size:24px;font-weight:600; }
.cal-week-stats { font-size:13px;color:var(--cat-muted); }
.cal-week-day.is-today .cal-week-head { background:var(--cat-tint); }
.cal-week-day.is-today .cal-week-head span { color:var(--cat-accent); }
.cal-week-list { display:flex;flex-direction:column;gap:8px;padding:8px; }
.cal-week-item { display:flex;flex-wrap:wrap;gap:8px;padding:12px 8px;text-align:left;background:var(--cat-surface);border:1px solid var(--cat-border);border-radius:8px;color:var(--cat-text);cursor:pointer;min-width:0; }
.cal-week-item time { font-size:13px;font-weight:600; }
.cal-week-who { min-width:0;display:block;flex:1; }
.cal-week-name { display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere; }
.cal-week-svc,.cal-week-prof { display:block;font-size:13px;color:var(--cat-muted);line-height:1.5;margin-top:4px; }
.cal-week-item .cal-block-tag { margin-top:8px; }
.cal-week-free { padding:16px 8px;font-size:13px;color:var(--cat-muted); }
.cal-week-more { min-height:44px;border:0;background:none;color:var(--cat-accent);font-size:14px;cursor:pointer; }
.cal-retry { margin:0 24px 24px; }
.cal-skeleton { padding:24px; }
.cal-skeleton span { display:block;height:48px;margin-bottom:16px;border-radius:8px;background:var(--cat-subtle); }
.cal-noname { font-style:normal; }

/* Dialogs: bounded width, one scroll container, footer always reachable. */
.modal-overlay:has(.cal-dialog) { padding:24px; }
.modal-container.cal-dialog { max-width:768px;max-height:calc(100dvh - 48px);border-radius:16px; }
.cal-dialog .modal-body { padding:24px; }
.cal-dialog .modal-title { font-size:24px; }
.cal-dialog .form-label { font-size:14px;font-weight:600;text-transform:none;letter-spacing:0; }
.cal-dialog .form-group { margin-bottom:24px;min-width:0; }
.cal-dialog .form-row { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.cal-dialog :is(.form-input,.form-select) { min-width:0;width:100%;min-height:48px;font-size:16px; }
.cal-dialog .client-picker-input { padding-left:40px;padding-right:44px; }
.cal-dialog .client-picker-clear { width:44px;height:44px;right:0; }
.cal-dialog .field-help { display:block;font-size:13px;line-height:1.5;margin-top:8px;color:var(--cat-muted); }
.cal-form-intro { margin:0 0 24px;color:var(--cat-muted);font-size:16px; }
.cal-booking-preview,.cal-reservation { display:flex;gap:16px;align-items:center;padding:16px;border-radius:8px;background:var(--cat-tint);color:var(--cat-accent);margin-bottom:24px; }
.cal-booking-preview { flex-direction:column;align-items:flex-start;gap:4px; }
.cal-booking-preview[hidden] { display:none; }
.cal-booking-preview strong,.cal-reservation strong { display:block;font-size:16px;font-weight:600; }
.cal-booking-preview span,.cal-reservation span { display:block;font-size:14px;line-height:1.5; }
.cal-reservation svg { flex-shrink:0; }
.availability-feedback { display:block;font-size:14px;line-height:1.5;margin:0 0 24px;color:var(--cat-muted); }
.availability-feedback:empty { display:none; }
.availability-feedback.is-success { color:var(--cat-accent); }
.availability-feedback.is-warning { color:var(--cal-warning-text); }
.cal-detail-head { display:flex;align-items:center;gap:16px;margin-bottom:24px; }
.cal-detail-head>div { min-width:0;flex:1; }
.cal-detail-head .cal-avatar { width:48px;height:48px;font-size:16px; }
.cal-detail-head h2 { font-size:24px;line-height:1.2;margin:0; }
.cal-detail-head p { font-size:14px;color:var(--cat-muted);margin:8px 0 0; }
.cal-detail-facts { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 24px; }
.cal-detail-facts dt { color:var(--cat-muted);font-size:13px;margin-bottom:8px; }
.cal-detail-facts dd { margin:0;font-size:16px; }
.cal-detail-notes { padding:16px;border-radius:8px;background:var(--cat-bg);margin-bottom:24px;font-size:14px; }
.cal-detail-notes p { color:var(--cat-muted);margin:8px 0 0;white-space:pre-wrap; }
.cal-hint { color:var(--cat-muted);font-size:14px;line-height:1.5;margin:12px 0 24px; }
.cal-actions { margin-top:24px;padding-top:24px;border-top:1px solid var(--cat-border); }
.cal-actions-label { display:block;font-size:14px;font-weight:600;margin-bottom:12px; }
.cal-actions-row { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px; }
.cal-error { display:none;color:var(--cal-warning-text);background:var(--cal-warning-bg);padding:16px;border-radius:8px;font-size:14px;margin-top:16px; }
.cal-error.is-visible { display:block; }
.cal-dialog input { color-scheme:light; }
:root[data-theme=dark] .cal-dialog input { color-scheme:dark; }
@media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-dialog input { color-scheme:dark; } }
@media(max-width:1100px) {
  .cal-filterbar select { flex:1; }
  .cal-search { flex-basis:100%; }
  .cal-summary :is(article,button) { padding:16px; }
  .cal-summary strong { font-size:24px; }
}
@media(max-width:768px) {
  .cal-heading { align-items:flex-start;gap:16px;margin-bottom:24px; }
  .cal-heading h1 { font-size:30px; }
  .cal-commandbar { gap:16px; }
  .cal-views { width:100%; }
  .cal-views button { flex:1; }
  .cal-summary { grid-auto-flow:row;grid-template-columns:1fr 1fr;margin-bottom:24px; }
  .cal-summary :is(article,button):nth-child(odd) { border-left:0; }
  .cal-summary :is(article,button):nth-child(n+3) { border-top:1px solid var(--cat-border); }
  .cal-summary small { font-size:13px; }
  .cal-mobile-day { display:block; }
  .cal-scroll { display:none; }
  .cal-list-row { grid-template-columns:64px minmax(0,1fr);gap:8px 16px;padding:16px; }
  .cal-list-time { grid-row:1 / 3;align-self:start; }
  .cal-list-state { grid-column:2; }
  .cal-list-arrow { display:none; }
  .cal-list-client strong { font-size:16px; }
  .cal-week { display:block; }
  .cal-week-day { border-right:0;border-bottom:1px solid var(--cat-border); }
  .cal-week-head { display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center; }
  .cal-week-date { grid-column:1;grid-row:1 / 3; }
  .cal-week-dow,.cal-week-stats { grid-column:2; }
  .cal-week-item { padding:16px; }
  .cal-week-item time { min-width:48px;font-size:14px; }
  .cal-week-list { padding:16px; }
  .cal-week-free { padding:0; }
}
@media(max-width:540px) {
  .cal-breadcrumb,.cal-heading p { display:none; }
  .cal-heading { gap:12px;margin-bottom:16px; }
  .cal-heading h1 { margin-bottom:0; }
  .cal-summary { margin-bottom:16px; }
  .cal-summary:not(.is-open) { display:none; }
  .cal-summary-toggle { display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:0 0 16px;padding:8px 0;border:0;background:transparent;color:var(--cat-muted);font-size:14px;cursor:pointer; }
  .cal-summary-toggle>span { margin-left:auto; }
  .cal-filter-toggle { display:flex;align-items:center;gap:8px;min-height:44px;margin:0 16px 8px;padding:8px 12px;background:transparent;border:1px solid var(--cat-control);border-radius:8px;font-size:14px;color:var(--cat-text);cursor:pointer; }
  .cal-filterbar:not(.is-open) { display:none; }
  .cal-breadcrumb { margin-bottom:16px;font-size:13px; }
  .cal-heading { flex-direction:row;align-items:center;margin-bottom:8px; }
  .cal-heading h1 { font-size:20px; }
  .cal-heading .btn { width:auto;min-height:48px;padding:12px 16px; }
  .cal-summary :is(article,button) { padding:12px;flex-direction:column;align-items:flex-start;gap:4px; }
  .cal-summary :is(article,button) strong { margin-left:0;font-size:20px;max-width:100%;overflow-wrap:anywhere; }
  .cal-summary strong { font-size:24px; }
  .cal-summary :is(article,button)>span { font-size:13px; }
  .cal-summary small { display:none; }
  .cal-commandbar,.cal-period { padding:16px; }
  .cal-period h2 { font-size:16px; }
  .cal-period>span { margin-left:0; }
  .cal-date-nav { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;gap:8px; }
  .cal-viewbar { width:100%;min-width:0; }
  .cal-viewbar #cal-today { min-height:44px;padding:8px 12px;text-align:center; }
  .cal-viewbar .cal-views { flex:1;min-width:0;width:auto; }
  .cal-viewbar .cal-views button { flex:1;min-height:44px;padding:8px; }
  .cal-date-nav #cal-prev,.cal-date-nav #cal-next { min-width:44px;width:44px;min-height:48px; }
  .cal-date-nav #cal-prev { grid-column:1;grid-row:1; }
  .cal-date-nav #cal-next { grid-column:3;grid-row:1; }
  .cal-date-nav .form-input { grid-column:2;grid-row:1;width:100%;min-width:0;min-inline-size:0;max-width:100%;margin:0;padding:8px;box-sizing:border-box;overflow:hidden;appearance:none;-webkit-appearance:none; }
  .cal-date-nav .form-input::-webkit-date-and-time-value { min-width:0;text-align:center; }
  .cal-summary-toggle { margin-bottom:8px;min-height:44px; }
  .cal-commandbar { gap:8px;padding:12px 16px; }
  .cal-filterbar { padding:0 16px 16px;gap:12px; }
  .cal-workspace .cal-filterbar .form-select { flex-basis:100%;width:100%;font-size:16px; }
  .cal-footnote { padding:16px; }
  .cal-search { min-width:0; }
  .modal-overlay:has(.cal-dialog) { padding:0; }
  .modal-container.cal-dialog { max-width:100%;height:100dvh;max-height:100dvh;border-radius:0; }
  .cal-dialog .modal-header,.cal-dialog .modal-body,.cal-dialog .modal-footer { padding:16px; }
  .cal-dialog .modal-title { font-size:20px; }
  .cal-dialog .form-row { grid-template-columns:1fr;gap:0; }
  .cal-dialog .modal-footer { display:flex;gap:8px;flex-wrap:wrap; }
  .cal-dialog .modal-footer .btn { flex:1;min-width:0;white-space:normal;padding:12px; }
  .cal-detail-head { flex-wrap:wrap; }
  .cal-detail-head>div { flex:1 1 calc(100% - 64px); }
  .cal-detail-head .cal-avatar { flex:0 0 48px; }
  .cal-detail-head h2 { font-size:20px; }
  .cal-detail-head>.cal-block-tag { margin-left:64px; }
  .cal-detail-facts { grid-template-columns:1fr;gap:16px; }
}
/* Agenda pelo método: cartões com ação, atendidos na grade, falta combinar. */
.cal-summary > button { align-items:flex-start;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer; }
.cal-summary > button>span { font-size:14px;color:var(--cat-muted); }
.cal-summary > button:hover small { text-decoration:underline; }
.cal-summary .is-alert strong { color:var(--cal-warning-text); }
.cal-summary .is-alert small { color:var(--cal-warning-text); }
.cal-block.is-done { opacity:.78; }
.cal-block.is-done .cal-block-name { text-decoration:none; }
.cal-block-next { display:inline-block;margin-top:4px;padding:2px 6px;border-radius:6px;background:var(--cal-warning-bg);color:var(--cal-warning-text);font-size:13px;font-weight:700; }
.cal-block.is-done:has(.cal-block-next) { opacity:1; }
.cal-list-next { color:var(--cal-warning-text);font-weight:600; }
.cal-moves { display:grid;gap:4px; }
.cal-move-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--cat-border); }
.cal-move-row div { display:flex;flex-direction:column;gap:2px;min-width:0; }
.cal-move-row span { font-size:13px;color:var(--cat-muted); }
.cal-move-row .btn { width:auto;flex:none; }

/* E1-03: horários livres como botões tocáveis; o seletor fica só para leitores de tela. */
.cal-dialog .apt-time-group { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
.apt-slots { display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px; }
.apt-slots:empty { display:none; }
.apt-slot { min-width:64px;min-height:40px;padding:8px 10px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);font:700 14px var(--font-ui);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums; }
.apt-slot:hover { border-color:var(--brand); }
.apt-slot[aria-pressed="true"] { background:var(--brand);border-color:var(--brand);color:var(--brand-ink); }
@media (max-width: 640px) { .apt-slot { min-height:44px;flex:1 0 calc(25% - 6px); } }
/* Serviços como botões (um toque escolhe); o seletor fica para "Outro serviço". */
.apt-service-chips { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:8px; }
.apt-service-chips:empty { display:none; }
.apt-chip { display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:8px 12px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:600 14px var(--font-ui);text-align:left;cursor:pointer; }
.apt-chip small { font-weight:500;font-size:13px;color:var(--ink-mute); }
.apt-chip:hover { border-color:var(--brand); }
.apt-chip[aria-pressed="true"] { background:var(--brand);border-color:var(--brand);color:var(--brand-ink); }
.apt-chip[aria-pressed="true"] small { color:var(--brand-ink);opacity:.85; }
.apt-sr-only { position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }

/* Revisão das telas · onda 1 (21/10/2026): resumo em uma linha, grade do dia
   inteiro no computador, lista de 2 linhas com "Livre · Marcar aqui" no celular,
   semana a partir de hoje, detalhe com um botão principal. */
.cal-heading { margin-bottom:12px; }
.cal-summary-line { margin:0 0 20px;color:var(--cat-muted);font-size:15px;line-height:1.5; }
.cal-summary-line:empty { display:none; }
.cal-summary-line strong { color:var(--cat-text);font-variant-numeric:tabular-nums; }
.cal-summary-line .link { border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--cal-warning-text);cursor:pointer;min-height:32px; }
.cal-scroll { max-height:none;overflow-x:auto;overflow-y:visible; }
.cal-prof-chips { display:none; }
.cal-mobile-day .cal-list-row { display:flex;align-items:center;gap:12px;padding:0;border-top:1px solid var(--cat-border);cursor:default; }
.cal-list-main { flex:1;min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:14px 20px;border:0;background:transparent;color:var(--cat-text);text-align:left;font:inherit;cursor:pointer; }
.cal-list-main:hover { background:var(--cat-bg); }
.cal-list-main .cal-list-time strong { font-size:17px; }
.cal-list-client>strong { display:block;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.cal-list-svc { font-weight:500;color:var(--cat-muted); }
.cal-list-meta { display:block;font-size:14px;color:var(--cat-muted);margin-top:2px; }
.cal-state { font-style:normal; }
.cal-state.is-ok,.cal-state.is-now,.cal-list-rec { color:var(--cat-accent);font-weight:600; }
.cal-state.is-bad { color:var(--cal-warning-text); }
.cal-list-order { flex:none;margin-right:20px;min-height:44px; }
.cal-free-row { display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 20px;border:0;border-top:1px dashed var(--cat-border);background:var(--cat-bg);color:var(--cat-muted);font:inherit;font-size:14px;text-align:left;cursor:pointer; }
.cal-free-row strong { color:var(--cat-accent);font-size:14px; }
.cal-free-row:hover { background:var(--cat-tint); }
.cal-free-time { font-variant-numeric:tabular-nums; }
.cal-before { border-top:1px solid var(--cat-border); }
.cal-before>summary { display:flex;align-items:center;min-height:48px;padding:0 20px;color:var(--cat-muted);font-size:14px;font-weight:600;cursor:pointer; }
.cal-list-end { margin:0;padding:16px 20px;border-top:1px solid var(--cat-border);color:var(--cat-muted);font-size:14px; }
.cal-list-hint { margin:0;padding:10px 20px;color:var(--cat-muted);font-size:13px;border-top:1px solid var(--cat-border); }
.cal-week { grid-template-columns:repeat(var(--cal-week-cols,7),minmax(150px,1fr)); }
.cal-week-go { display:none; }
.cal-week-day.is-past .cal-week-head { opacity:.75; }
.cal-week-rec { color:var(--cat-accent); }
.cal-workspace.is-empty-day1 :is(.cal-commandbar,.cal-filter-toggle,.cal-filterbar,.cal-period,.cal-footnote,.cal-summary-line,.cal-plan-end,.cal-prof-chips) { display:none; }
.cal-workspace.is-empty-day1 .cal-board { border:0;background:transparent; }
.cal-workspace.is-empty-day1 #cal-new { opacity:.5; }
.cal-detail .cal-state-chips { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px; }
.cal-state-chip { min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--cat-control);background:var(--cat-surface);color:var(--cat-text);font:600 14px var(--font-ui);cursor:pointer; }
.cal-state-chip[aria-pressed=true] { background:var(--cat-accent);border-color:var(--cat-accent);color:var(--cat-surface); }
.cal-detail-wa { margin:0 0 16px; }
.cal-detail-wa .btn { width:100%;justify-content:center;min-height:48px; }
.cal-detail-links { display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:16px;border-top:1px solid var(--cat-border); }
.cal-detail-links .link { border:0;background:none;padding:0;min-height:44px;font:inherit;font-size:14px;font-weight:600;color:var(--cat-accent);cursor:pointer; }
.cal-detail-links .cal-cancel-link { color:var(--cal-warning-text); }
.cal-detail-links .cal-cancel-link.is-armed { padding:0 12px;border-radius:8px;background:var(--cal-warning-bg); }
.cal-return>strong { display:flex;align-items:center;gap:6px; }
.cal-return>span { display:block;margin-top:4px;font-size:14px;color:var(--cat-muted); }
.cal-resched-lead { margin:0 0 20px;font-size:16px;line-height:1.5; }
.cal-slots-label { margin:0 0 6px; }
.apt-days { display:flex;flex-wrap:wrap;gap:6px; }
.apt-day { min-height:44px;padding:8px 16px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:600 14px var(--font-ui);cursor:pointer; }
.apt-day[aria-pressed=true] { background:var(--brand);border-color:var(--brand);color:var(--brand-ink); }
.cal-dialog .apt-when { margin-bottom:8px; }
.cal-dialog .apt-date-input { margin-top:8px;max-width:220px; }
.apt-notes-more { margin:8px 0 16px; }
.apt-notes-more>summary { display:inline-flex;align-items:center;min-height:44px;color:var(--cat-accent);font-size:14px;font-weight:600;cursor:pointer; }
.apt-save-hint { margin:0 auto 0 0;color:var(--cat-muted);font-size:13px; }
.apt-save-hint:empty { display:none; }
@media(max-width:768px) {
  .cal-view-desk { display:none; }
  .cal-prof-chips:not([hidden]) { display:flex;gap:6px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none; }
  .cal-prof-chips::-webkit-scrollbar { display:none; }
  .cal-prof-chips button { flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--cat-control);background:var(--cat-surface);color:var(--cat-text);font:600 14px var(--font-ui);cursor:pointer; }
  .cal-prof-chips button:first-child { padding-left:14px; }
  .cal-prof-chips button small { font-size:13px;color:var(--cat-muted);font-weight:500; }
  .cal-prof-chips button[aria-pressed=true] { background:var(--cat-accent);border-color:var(--cat-accent);color:var(--cat-surface); }
  .cal-prof-chips button[aria-pressed=true] small { color:var(--cat-surface); }
  .cal-prof-chips .cal-avatar { width:32px;height:32px; }
  .cal-list-main { grid-template-columns:52px minmax(0,1fr) 16px;padding:12px 16px;gap:10px; }
  .cal-list-main .cal-list-arrow { display:block;font-size:20px; }
  .cal-free-row { grid-template-columns:52px minmax(0,1fr) auto;padding:10px 16px; }
  .cal-list-order { margin-right:16px; }
  .cal-week-head { grid-template-columns:auto 1fr auto;min-height:64px;background:var(--cat-surface); }
  .cal-week-go { display:block;grid-column:3;grid-row:1 / 3;font-size:22px;color:var(--cat-muted); }
  .cal-week-list { display:none; }
  .cal-summary-line { margin-bottom:12px;font-size:14px; }
}
@media(max-width:540px) {
  .cal-heading { margin-bottom:4px; }
  .cal-dialog .modal-footer { align-items:center; }
  .apt-save-hint { flex-basis:100%;margin:0 0 4px; }
  .cal-detail-links { justify-content:space-between; }
}
@media(max-width:768px) { .cal-footnote { display:none; } }
.cal-workspace:not([data-view=day]) .cal-footnote { display:none; }
/* Onda 1 · rodada 2: livres da equipe sem filtro, um botão por linha, fechado na semana. */
/* 21/10: livres por profissional, cada trecho com início e fim, tocável. */
.cal-free-strip { display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 24px 16px;border-top:1px solid var(--cat-border);background:var(--cat-bg); }
.cal-free-strip.is-full { display:block;margin:0;color:var(--cat-muted);font-size:14px; }
.cal-free-label { display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;font-size:15px;color:var(--cat-text); }
.cal-free-label strong { font-size:16px;color:var(--cat-text); }
.cal-free-click { display:none; }
@media (min-width:769px) and (hover:hover) and (pointer:fine) { .cal-free-touch { display:none; } .cal-free-click { display:inline; } }
.cal-free-people { display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;align-items:start; }
.cal-free-person { display:contents; }
.cal-free-name { padding-top:10px;max-width:180px;font-size:15px;font-weight:600;color:var(--cat-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.cal-free-gaps { display:flex;flex-wrap:wrap;gap:6px;min-width:0; }
.cal-free-chip,.cal-free-more { display:inline-flex;align-items:center;min-height:40px;padding:6px 12px;border-radius:999px;border:1px dashed var(--cat-accent);background:var(--cat-surface);color:var(--cat-accent);font:600 15px var(--font-ui);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer; }
.cal-free-chip:hover,.cal-free-more:hover { background:var(--cat-tint); }
.cal-free-more { border-style:solid;border-color:var(--cat-accent);min-width:48px;justify-content:center; }
.cal-free-none { font-size:14px;color:var(--cat-muted);min-height:40px;display:inline-flex;align-items:center; }
/* No computador cabe tudo; os "+N" e "Ver também" são só do celular. */
.cal-free-more { display:none; }
.cal-list-row.has-action .cal-list-main { grid-template-columns:64px minmax(0,1fr); }
.cal-list-time small { display:block;font-size:13px;color:var(--cat-muted);margin-top:2px; }
.cal-list-rec { white-space:nowrap; }
.cal-block.is-done { opacity:1; }
.cal-block.is-done :is(.cal-block-name,.cal-block-time) { color:var(--cat-text); }
.cal-week-day.is-closed .cal-week-head { cursor:default;background:var(--cat-bg); }
.cal-week-day.is-closed .cal-week-stats { font-weight:600; }
.cal-week-item .cal-state { display:block;margin-top:4px;font-size:13px;color:var(--cat-muted); }
.cal-week-item .cal-state:is(.is-ok,.is-now) { color:var(--cat-accent); }
.cal-week-item .cal-state:is(.is-bad,.is-overdue) { color:var(--cal-warning-text); }
.cal-week { grid-template-columns:repeat(var(--cal-week-cols,7),minmax(120px,1fr)); }
.cal-week-day.is-closed { min-width:0; }
.cal-detail .cal-state-label { align-self:center;font-size:14px;color:var(--cat-muted);margin-right:4px; }
.cal-resched-lead .link { display:inline-flex;align-items:center;gap:6px;margin-top:8px;min-height:40px;font-size:14px;font-weight:600;color:var(--cat-accent); }
.cal-resched-note { display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;color:var(--cat-muted);font-size:14px;line-height:1.5; }
.cal-resched-note svg { flex:none;margin-top:3px; }
.apt-other-service { border:0;background:none;padding:0;min-height:40px;font:600 14px var(--font-ui);color:var(--cat-accent);cursor:pointer; }
.cal-dialog .client-picker-input::-webkit-search-cancel-button { display:none; }
.cal-dialog .modal-body { padding-bottom:32px; }
@media(max-width:768px) {
  .cal-prof-chips:not([hidden]) { flex-wrap:wrap;overflow:visible; }
  .cal-free-strip { padding:12px 16px 14px; }
  .cal-free-people { gap:6px 10px; }
  .cal-free-name { max-width:96px; }
  .cal-free-chip,.cal-free-more { padding-inline:9px;font-size:14px; }
  .cal-free-gaps { gap:5px; }
  .cal-free-more { display:inline-flex; }
  .cal-free-more-rows { justify-self:start; }
  .cal-free-chip.is-extra { display:none; }
  .cal-free-person.is-open .cal-free-chip.is-extra { display:inline-flex; }
  .cal-free-person.is-extra { display:none; }
  .cal-free-strip.is-open .cal-free-person.is-extra { display:contents; }
  .cal-list-row.has-action .cal-list-main { grid-template-columns:52px minmax(0,1fr); }
  .cal-list-client>strong { white-space:normal; }
  .cal-week-day.is-closed .cal-week-head { min-height:48px;opacity:.8; }
}
@media (max-width: 640px) { .apt-slot { flex:0 1 calc(25% - 6px); } }
.cal-list-time small { white-space:nowrap; }
@media(max-width:768px) {
  .cal-list-main,.cal-list-row.has-action .cal-list-main { grid-template-columns:68px minmax(0,1fr); }
  .cal-list-main:not(:has(+ .cal-list-order)) { grid-template-columns:68px minmax(0,1fr) 16px; }
  .cal-list-time small { font-size:13px; }
}

/* Onda 1 · rodada 3 */
.cal-week-day.is-closed { display:none; }
.cal-week-item { flex-wrap:nowrap;align-items:baseline;padding:8px; }
.cal-week-name { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.cal-week-svc { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px; }
.cal-week-item .cal-state { margin-top:2px; }
.cal-dialog .client-picker-search { color:transparent;width:18px;height:18px;background-color:var(--cat-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.apt-pros:empty { display:none; }
@media(max-width:768px) {
  .cal-week-day.is-closed { display:block; }
  .cal-prof-chips:not([hidden]) { flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent); }
  .cal-period { padding-block:10px; }
  .cal-period h2 { font-size:15px; }
}

.apt-service-chips.is-picked { grid-template-columns:1fr; }
.apt-service-chips.is-picked [aria-pressed=false] { display:none; }
.cal-week-svc { white-space:normal;overflow:visible; }

/* =========================================================
   Agenda melhorada (desenho aprovado em 28/10/2026): no celular o título é o dia,
   controles em 3 linhas, barra de data presa ao rolar, livres em cartão, linhas de ~70 px,
   Semana em ladrilhos e botão fixo "Marcar horário". Medidas: scratchpad/agenda-melhorada/gen.mjs.
   Computador: grade por profissional como antes (só os selos e os livres ganham o novo traço).
   ========================================================= */
.cal-sentinel { height:1px;margin-bottom:-1px;pointer-events:none; }
.cal-datebtn { display:contents; }
.cal-datebtn-text,.cal-t-mob,.cal-day-sum,.cal-week-hint,.cal-free-fold { display:none; }
.cal-filter-toggle-text { display:none; }
.cal-notif { background:var(--brand-soft);border-bottom:1px solid var(--rule);color:var(--brand-text); }
.cal-notif-main,.cal-notif-sub { display:flex;align-items:center;gap:18px;width:100%;min-height:56px;padding:6px 8px 6px 18px;border:0;background:none;font:inherit;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer; }
.cal-notif-sub { min-height:48px;border-top:1px solid var(--rule); }
.cal-notif .t { flex:1;min-width:0;font-size:15px;font-weight:700;line-height:1.3; }
.cal-notif .go { display:flex;align-items:center;gap:2px;min-height:44px;padding:0 8px;font-size:15px;font-weight:800;color:var(--brand-text); }
.cal-notif-bell { flex:none;display:flex;align-items:center;gap:4px;margin-right:4px;color:var(--brand-text); }
.cal-notif-bell i { min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--attn);color:#fff;font:800 13px/20px var(--font-ui);font-style:normal;text-align:center; }
:root[data-theme=dark] .cal-notif-bell i { color:#1A0E05; }
@media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-notif-bell i { color:#1A0E05; } }
.cal-notif a:focus-visible,.cal-notif button:focus-visible { outline:2px solid var(--brand-text);outline-offset:-3px; }
.cal-free-name.is-all { max-width:none; }
.cal-pill { display:inline-block;font-size:13px;font-weight:800;line-height:1.4;border-radius:999px;padding:3px 9px;margin-top:4px;background:var(--surface-2);color:var(--ink-2); }
.cal-pill.is-ok { background:var(--ok-bg);color:var(--ok); }
.cal-pill.is-wait { background:var(--wait-bg);color:var(--wait); }
.cal-pill.is-attn { background:var(--attn-bg);color:var(--attn); }
.cal-list-client>.cal-pill { display:inline-block;margin-top:4px;font-size:13px;color:inherit; }
.cal-list-client>.cal-pill.is-ok { color:var(--ok); } .cal-list-client>.cal-pill.is-wait { color:var(--wait); } .cal-list-client>.cal-pill.is-attn { color:var(--attn); }
.cal-list-next { color:var(--attn);font-weight:700; }
.cal-now-mark { display:flex;align-items:center;gap:8px;height:30px;padding:0 14px;font-size:13.5px;font-weight:800;color:var(--attn);border-top:1px solid var(--rule-soft); }
.cal-now-mark i { flex:1;height:2px;border-radius:2px;background:var(--attn);position:relative; }
.cal-now-mark i::before { content:'';position:absolute;left:-1px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--attn); }
.cal-before>summary { list-style:none; }
.cal-before>summary::-webkit-details-marker { display:none; }

@media(max-width:768px) {
  .cal-heading h1,.cal-heading>div,.cal-summary-line { display:none; }
  .cal-workspace { margin-top:-18px; }
  .cal-workspace:has(#cal-new:not([hidden])) { padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)); }
  .cal-heading:has(#cal-new:not([hidden])) { position:fixed;left:0;right:0;bottom:0;z-index:30;display:block;margin:0;padding:14px 16px max(16px,env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,transparent,var(--paper) 26%);pointer-events:none; }
  .cal-heading #cal-new { pointer-events:auto;display:flex;width:100%;min-height:52px;justify-content:center;font-size:17px;box-shadow:0 8px 18px -12px rgba(15,29,23,.6); }
  html.navigation-open .cal-heading { display:none; }
  .cal-workspace:has(#cal-search:focus) .cal-heading { display:none; }
  .cal-notif { margin:0 -16px; }
  .cal-board { border:0;border-radius:0;background:transparent;overflow:visible; }
  .cal-commandbar { position:sticky;top:var(--cal-stick,0px);z-index:15;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:8px;margin:0 -16px;padding:10px 12px;background:var(--surface); }
  .cal-board:has(.cal-prof-chips[hidden]) .cal-commandbar { border-bottom:1px solid var(--rule); }
  .cal-date-nav { display:flex;align-items:center;gap:6px;width:100%; }
  .cal-datebtn { display:flex;position:relative;flex:1;min-width:0;min-height:48px;align-items:center;justify-content:center;border-radius:12px; }
  .cal-datebtn-text { display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;letter-spacing:-.01em;white-space:nowrap; }
  .cal-datebtn-text small { font-size:15px;font-weight:600;color:var(--ink-mute); }
  .cal-dt-short { display:none; }
  .cal-datebtn .form-input { position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;font-size:16px;cursor:pointer; }
  .cal-datebtn:focus-within { outline:2px solid var(--brand-text);outline-offset:1px; }
  .cal-workspace .cal-date-nav #cal-prev,.cal-workspace .cal-date-nav #cal-next,.cal-workspace .cal-step { flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink); }
  .cal-viewbar { display:flex;align-items:center;gap:6px;width:100%; }
  .cal-viewbar #cal-today { flex:none;min-height:44px;padding:0 14px;border:1px solid var(--rule-strong);border-radius:12px;background:var(--surface);color:var(--ink);font-size:16px;font-weight:700; }
  .cal-viewbar #cal-today.is-off { border-color:var(--rule);color:var(--ink-mute); }
  .cal-viewbar .cal-views { flex:1;min-width:0;width:auto;height:44px;padding:0;gap:0;border-radius:12px;background:var(--surface-2);overflow:hidden; }
  .cal-viewbar .cal-views button { min-height:44px;padding:0;border-radius:12px;font-size:16px;font-weight:700;color:var(--ink-mute); }
  .cal-viewbar .cal-views [aria-pressed=true] { background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shade,rgba(15,29,23,.1)); }
  :root[data-theme=dark] .cal-viewbar .cal-views [aria-pressed=true] { background:#2A352E; }
  @media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-viewbar .cal-views [aria-pressed=true] { background:#2A352E; } }
  .cal-filter-toggle { flex:none;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink); }
  .cal-filter-toggle[aria-expanded=true] { border-color:var(--rule-strong);background:var(--surface-2); }
  .cal-commandbar.is-stuck { flex-direction:row;align-items:center;gap:4px;height:64px;padding:10px 12px;border-bottom:1px solid var(--rule);box-shadow:0 10px 18px -14px var(--shade,rgba(15,29,23,.1));margin-bottom:calc(var(--cal-bar-h,108px) - 64px); }
  .is-stuck .cal-date-nav { flex:1;min-width:0;width:auto;gap:4px; }
  .is-stuck .cal-viewbar { flex:none;width:auto;gap:4px; }
  .is-stuck .cal-viewbar #cal-today { padding:0 9px;font-size:15px; }
  .is-stuck .cal-viewbar .cal-views { flex:none;width:128px; }
  .is-stuck .cal-viewbar .cal-views button { font-size:14.5px;flex:1 1 0;min-width:0; }
  .is-stuck .cal-workspace .cal-step,.cal-workspace .is-stuck .cal-step { width:40px;min-width:40px; }
  .is-stuck .cal-filter-toggle { display:none; }
  .is-stuck .cal-datebtn-text { font-size:15px; }
  .is-stuck .cal-datebtn-text small { display:none; }
  .cal-board .cal-prof-chips:not([hidden]) { display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:0 -16px;padding:2px 12px 10px;background:var(--surface);border-bottom:1px solid var(--rule); }
  .cal-board .cal-prof-chips button { flex:none;min-height:44px;gap:8px;padding:0 8px 0 14px;border:1px solid var(--rule-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:700 16px var(--font-ui);white-space:nowrap; }
  .cal-board .cal-prof-chips button small { display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:14px;font-weight:800; }
  .cal-board .cal-prof-chips button[aria-pressed=true] { background:var(--btn-fill);border-color:var(--btn-fill);color:var(--btn-ink); }
  .cal-board .cal-prof-chips button[aria-pressed=true] small { background:rgba(245,241,232,.22);color:var(--btn-ink); }
  :root[data-theme=dark] .cal-board .cal-prof-chips button[aria-pressed=true] small { background:rgba(13,39,41,.18); }
  @media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-board .cal-prof-chips button[aria-pressed=true] small { background:rgba(13,39,41,.18); } }
  .cal-board .cal-prof-chips button.is-zero { border-style:dashed;color:var(--ink-mute); }
  .cal-board .cal-prof-chips button.is-zero small { background:transparent;border:1px solid var(--rule-strong);color:var(--ink-mute); }
  .cal-filterbar:not(.is-open) { display:none; }
  .cal-filterbar { padding:12px 0 4px;gap:10px;border-bottom:0; }
  .cal-search input { min-height:48px;font-size:16px; }
  .cal-period { flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:14px 4px 10px; }
  .cal-period h2 { font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2; }
  .cal-t-desk,#cal-count { display:none; }
  .cal-t-mob { display:inline; }
  .cal-day-sum { display:block;font-size:15px;font-weight:600;color:var(--ink-mute);white-space:nowrap; }
  .cal-day-sum b { color:var(--ink);font-weight:800; }
  .cal-period>button { padding:0;font-weight:700; }
  .cal-mobile-day { margin:0; }
  /* livres: cartão */
  .cal-free-strip { display:block;margin:0 0 12px;padding:0;border:1px solid var(--card-rule);border-radius:18px;background:var(--surface);overflow:hidden; }
  .cal-free-strip.is-full { padding:14px;color:var(--ink-2);font-size:15px; }
  .cal-free-label { display:block;padding:12px 14px 4px; }
  .cal-free-label strong { display:block;font-size:16px;font-weight:800; }
  .cal-free-label span { font-size:14px;font-weight:600;color:var(--ink-mute); }
  .cal-free-people { display:block; }
  .cal-free-person { display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 10px 4px 14px; }
  .cal-free-person+.cal-free-person { border-top:1px solid var(--rule-soft); }
  .cal-free-person.is-extra { display:none; }
  .cal-free-strip.is-open .cal-free-person.is-extra { display:flex; }
  .cal-free-name { flex:none;width:62px;max-width:62px;padding:0;font-size:15px;font-weight:700; }
  .cal-free-name.is-all { width:auto;max-width:none; }
  .cal-free-gaps { flex:1;gap:6px;align-items:center; }
  .cal-free-chip,.cal-free-more { min-height:44px;padding:0 9px;border:1.5px solid var(--brand-text);border-radius:12px;background:var(--surface);color:var(--brand-text);font:800 15px var(--font-ui);font-variant-numeric:tabular-nums;white-space:nowrap; }
  .cal-free-more { min-width:44px;justify-content:center;border-color:var(--rule-strong);color:var(--ink); }
  .cal-free-none { font-size:14.5px;font-weight:600;color:var(--ink-mute);min-height:44px; }
  .cal-free-more-rows { display:flex;width:100%;min-height:48px;justify-content:flex-start;padding:0 14px;border:0;border-top:1px solid var(--rule-soft);border-radius:0;color:var(--brand-text);font-size:15px;font-weight:700; }
  .cal-free-strip.is-open .cal-free-more-rows { display:none; }
  .cal-free-fold { display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:6px 6px 6px 14px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer; }
  .cal-free-fold .t { flex:1;font-size:16px;font-weight:800;line-height:1.3; }
  .cal-free-fold small { display:block;font-size:14.5px;font-weight:600;color:var(--ink-2); }
  .cal-free-fold .open { display:flex;align-items:center;gap:4px;min-height:44px;min-width:44px;padding:0 10px;font-size:15px;font-weight:800;color:var(--brand-text); }
  .cal-free-fold[aria-expanded=true] .open svg { transform:rotate(180deg); }
  .cal-free-strip.is-foldable .cal-free-label strong { display:none; }
  .cal-free-strip.is-foldable:not(.is-open-fold) .cal-free-body { display:none; }
  .cal-free-strip.is-foldable.is-open-fold .cal-free-fold { border-bottom:1px solid var(--rule-soft); }
  /* lista */
  .cal-list-head { display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute); }
  .cal-list-head small { font-size:14px;letter-spacing:0;text-transform:none;font-weight:600; }
  .cal-list-card { background:var(--surface);border:1px solid var(--card-rule);border-radius:18px;overflow:hidden; }
  .cal-mobile-day .cal-list-row { border-top:1px solid var(--rule-soft); }
  .cal-list-card>.cal-list-row:first-child,.cal-list-card>.cal-before:first-child { border-top:0; }
  .cal-list-row.is-late { box-shadow:inset 4px 0 0 var(--attn); }
  .cal-list-row.is-moved { box-shadow:inset 4px 0 0 var(--wait); }
  .cal-list-main,.cal-list-row.has-action .cal-list-main { grid-template-columns:62px minmax(0,1fr);gap:10px;min-height:70px;padding:10px 8px 10px 14px; }
  .cal-list-main:not(:has(+ .cal-list-order)) { grid-template-columns:62px minmax(0,1fr) 28px; }
  .cal-list-main .cal-list-time strong { font-size:17px;font-weight:800;line-height:1.1; }
  .cal-list-time small { margin-top:3px;font-size:13.5px; }
  .cal-list-client>strong { font-size:17px;font-weight:800;line-height:1.25;letter-spacing:-.01em; }
  .cal-list-meta { margin-top:1px;font-size:15px;font-weight:500;line-height:1.35;color:var(--ink-2); }
  .cal-list-order { min-width:88px;min-height:44px;margin-right:10px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:800;white-space:nowrap; }
  .cal-list-arrived { border:1.5px solid var(--rule-strong);background:transparent;color:var(--ink); }
  .cal-free-row { grid-template-columns:62px minmax(0,1fr) auto;gap:10px;min-height:52px;padding:4px 8px 4px 14px;border-top:1px solid var(--rule-soft);background:repeating-linear-gradient(135deg,transparent 0 9px,var(--surface-2) 9px 10px);color:var(--ink-2);font-size:15px;font-weight:600; }
  .cal-free-row .cal-free-time { color:var(--ink-mute);font-weight:700; }
  .cal-free-row strong { display:flex;align-items:center;min-height:44px;padding:0 12px;border:1.5px solid var(--brand-text);border-radius:999px;background:var(--surface);color:var(--brand-text);font-size:15px;font-weight:800; }
  .cal-before>summary { display:flex;align-items:center;gap:10px;min-height:56px;padding:0 8px 0 14px;font-size:16px;font-weight:700;color:var(--ink-2); }
  .cal-before>summary>span:first-child { flex:1; }
  .cal-before>summary small { display:block;font-size:14px;font-weight:600;color:var(--attn); }
  .cal-before-go { width:44px;height:44px;display:grid;place-items:center;color:var(--ink-mute);transition:transform .15s; }
  .cal-before[open] .cal-before-go { transform:rotate(180deg); }
  .cal-list-end { padding:14px;font-size:15px; }
  .cal-empty { padding:20px 20px 16px;background:var(--surface);border:1px solid var(--card-rule);border-radius:18px;margin-bottom:12px; }
  .cal-empty h3 { margin:0;font-size:18px;font-weight:800;color:var(--ink); }
  /* semana */
  .cal-week { background:var(--surface);border:1px solid var(--card-rule);border-radius:18px;overflow:hidden;border-top:1px solid var(--card-rule); }
  .cal-week-day+.cal-week-day { border-top:1px solid var(--rule-soft); }
  .cal-week-day { border-bottom:0; }
  .cal-week-head,.cal-week-day.is-closed .cal-week-head { display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;min-height:66px;padding:8px 6px 8px 12px;border:0;background:transparent;text-align:left;font:inherit;color:var(--ink); }
  .cal-week-day.is-closed .cal-week-head { min-height:52px;opacity:1; }
  .cal-week-tile { display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:var(--surface-2);flex:none; }
  .cal-week-day .cal-week-head .cal-week-dow { font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute); }
  .cal-week-day .cal-week-head .cal-week-date { font-size:19px;font-weight:800;line-height:1.05;color:var(--ink); }
  .cal-week-hoje,.cal-week-sub>.cal-week-sep:first-child { display:none; }
  .cal-week-day.is-today .cal-week-tile { background:var(--btn-fill); }
  .cal-week-day.is-today .cal-week-head .cal-week-dow,.cal-week-day.is-today .cal-week-head .cal-week-date { color:var(--btn-ink); }
  .cal-week-day .cal-week-head .cal-week-stats { flex:1;min-width:0;font-size:16px;font-weight:800;color:var(--ink); }
  .cal-week-stats b { display:block;font-weight:800; }
  .cal-week-sub { display:block;margin-top:1px;font-size:14.5px;font-weight:600;color:var(--ink-mute); }
  .cal-week-free-n { font-style:normal;color:var(--ink-2); }
  .cal-week-free-n::before { content:'';display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--ok);vertical-align:1px; }
  .cal-week-todo { color:var(--attn);font-weight:700; }
  .cal-week-moved { color:var(--wait);font-weight:700;text-decoration:none; }
  .cal-week-day.is-closed .cal-week-head .cal-week-stats { color:var(--ink-mute);font-weight:700; }
  .cal-week-day.is-closed .cal-week-tile { background:transparent;border:1px dashed var(--rule); }
  .cal-week-go { display:grid;place-items:center;width:44px;height:44px;font-size:22px;color:var(--ink-mute); }
  .cal-week-hint { display:block;margin:10px 4px 0;font-size:14px;font-weight:600;color:var(--ink-mute); }
  .cal-week-scroll { overflow:visible; }
}
@media(max-width:420px) {
  .is-stuck .cal-dt-full { display:none; }
  .is-stuck .cal-dt-short { display:inline; }
  .cal-free-chip,.cal-free-more { padding:0 7px; }
  .cal-free-name { width:56px;max-width:56px; }
}
@media(max-width:1023px) and (max-height:520px) { .cal-heading:has(#cal-new:not([hidden])) { display:none; } }

/* Correções da revisão (28/10): foco nunca sob a barra presa nem sob o botão fixo; sem animação para quem pediu menos movimento. */
@media(max-width:768px) {
  html:has(.cal-workspace) { scroll-padding-top:152px;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:420px) {
  .cal-commandbar.is-stuck { padding-inline:16px; }
  .is-stuck .cal-viewbar #cal-today { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .cal-before-go { transition:none; }
}
@media(max-width:420px) {
  .cal-commandbar.is-stuck .cal-viewbar .cal-views { width:144px; }
  .cal-workspace .cal-commandbar.is-stuck .cal-step { width:36px;min-width:36px; }
}

/* Dia/Semana: o ativo tem contorno visível e nada é cortado (sem overflow). */
@media(max-width:768px) {
  .cal-viewbar .cal-views { overflow:visible;padding:0; }
  .cal-viewbar .cal-views [aria-pressed=true] { border:1.5px solid var(--rule-strong);box-shadow:none; }
}

/* =========================================================
   Agenda no computador (28/10/2026)
   Página na altura da janela, só a grade rola; painel lateral a 1280 px; 1024 sem painel.
   O celular (até 768 px) não é tocado por este bloco. Cores só pelos tokens (claro e escuro).
   ========================================================= */
.cal-heading-tools { display:contents; }
.cal-status-slot,.cal-bell-wrap,.cal-only,.cal-aside,.cal-kbd,.cal-h1-day,.cal-day-empty,.cal-grid-foot,.cal-skel-grid,.cal-fold { display:none; }
.cal-top { display:contents; }
.cal-block-main { font:inherit; }

@media(min-width:769px) {
  .cal-heading { align-items:center;gap:20px;margin-bottom:12px; }
  .cal-heading-text { display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-width:0; }
  .cal-heading h1 { margin:0;font-size:28px;line-height:1.2; }
  .cal-h1-day { display:inline; }
  .cal-h1-day:empty { display:none; }
  .cal-heading h1:has(.cal-h1-day:not(:empty)) .cal-h1-agenda { display:none; }
  .cal-heading .cal-summary-line { margin:0;font-size:14px; }
  .cal-heading-tools { display:flex;align-items:center;gap:20px;flex:none; }
  .cal-day-empty { display:block;margin:0;padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:700; }
  .cal-day-empty .link { border:0;background:none;padding:0 0 0 8px;font:700 14px var(--font-ui);color:var(--brand-text);text-decoration:underline;cursor:pointer; }
  .cal-grid-foot { display:flex;align-items:center;gap:16px;flex-wrap:nowrap;min-height:40px;padding:6px 16px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-mute);overflow:hidden; }
  .cal-foot-hint { flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .cal-keys { display:flex;align-items:center;gap:14px;white-space:nowrap;flex:none; }
  .cal-keys>span { display:inline-flex;align-items:center;gap:4px; }
  .cal-keys kbd,.cal-kbd { display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--surface);color:var(--ink-2);font:700 13px var(--font-ui); }
  .cal-keys .link { border:0;background:none;padding:0;font:600 13px var(--font-ui);color:var(--ink-mute);text-decoration:underline;cursor:pointer; }
  .cal-foot-plan { flex:none;color:var(--brand-text);font-weight:700;text-decoration:underline;text-underline-offset:3px; }
  .cal-skel-grid { display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));flex:1;min-height:240px; }
  .cal-skeleton { display:none; }
  .cal-skel-col { display:flex;flex-direction:column;gap:12px;padding:12px;border-left:1px solid var(--rule); }
  .cal-skel-col:first-child { border-left:0; }
  .cal-skel-col span { display:block;height:56px;border-radius:8px;background:var(--surface-2);animation:cal-pulse 1.4s ease-in-out infinite; }
  .cal-skel-col span:first-child { height:44px; }
  .cal-skel-col span:nth-child(3) { height:88px; }
  @keyframes cal-pulse { 50% { opacity:.55; } }

  /* Grade do dia */
  .cal { --cal-step:60px;--cal-gutter:56px;--cal-colmin:120px; }
  .cal-corner,.cal-prof { min-height:64px;background:var(--surface);border-bottom:1px solid var(--rule); }
  .cal-prof { padding:10px 12px;border-left:1px solid var(--rule); }
  .cal-prof-name { display:block;min-width:0;flex:1;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left; }
  button.cal-prof-name { cursor:pointer;border-radius:6px; }
  button.cal-prof-name:focus-visible { outline:2px solid var(--brand-text);outline-offset:3px; }
  .cal-prof strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--ink); }
  .cal-pn-first { display:none; }
  .cal-grid.is-dense .cal-pn-full { display:none; }
  .cal-grid.is-dense .cal-pn-first { display:inline; }
  .cal-grid.is-dense .cal-avatar { display:none; }
  .cal-prof small { font-size:13px;color:var(--ink-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .cal-grid.is-dense .cal-prof-hours { display:none; }
  .cal-grid.is-dense .cal-prof { padding-inline:10px;gap:6px; }
  .cal-prof-tip { display:none !important;color:var(--brand-text) !important;font-weight:700; }
  button.cal-prof-name:is(:hover,:focus-visible) .cal-prof-hours { display:none; }
  button.cal-prof-name:is(:hover,:focus-visible) .cal-prof-tip { display:block !important; }
  .cal-prof-load { display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:13px;font-weight:800; }
  .cal-avatar { background:var(--surface-2);color:var(--brand-text); }
  .cal-times { background:var(--surface); }
  .cal-time { height:var(--cal-step);padding:4px 8px;border-top-color:var(--rule);color:var(--ink-mute);text-align:right; }
  .cal-time.is-half { border-top-color:transparent; }
  .cal-grid { isolation:isolate; }
  .cal-col { border-left:1px solid var(--rule); }
  .cal-slot { border-top-color:var(--rule-soft);padding:4px 8px; }
  .cal-slot.is-hour { border-top-color:var(--rule); }
  .cal-slot:not(:disabled):hover { background:transparent; }
  .cal-slot:not(:disabled):hover:after { content:attr(data-hm);font-size:13px;font-weight:700;color:var(--brand-text); }
  .cal-slot.is-gone { cursor:default; }
  .cal-slot.is-unavailable { background:repeating-linear-gradient(135deg,transparent 0 8px,var(--rule-soft) 8px 9px); }
  .cal-slot>span { font-size:13px;color:var(--ink-mute); }
  .cal-past { display:block;position:absolute;top:0;left:0;right:0;height:var(--cal-past-h,0px);background:color-mix(in srgb,var(--paper) 55%,transparent);pointer-events:none;z-index:1; }
  .cal-workspace .cal-block { z-index:2; }
  .cal-free-band { position:absolute;left:0;right:0;z-index:-1;pointer-events:none;background:var(--ok-bg);border-left:3px solid color-mix(in srgb,var(--ok) 60%,transparent); }
  :root[data-theme=dark] .cal-free-band { background:color-mix(in srgb,var(--ok-bg) 40%,transparent); }
  @media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-free-band { background:color-mix(in srgb,var(--ok-bg) 40%,transparent); } }
  .cal-free-band { overflow:hidden; }
  .cal-free-band span { display:block;padding:4px 8px;font-size:13px;font-weight:700;color:var(--ok);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .cal-free-band b { font-weight:700; }
  .cal-grid.is-dense .cal-free-band b { display:none; }
  .cal-now-line { left:var(--cal-gutter);height:2px;background:var(--attn);z-index:1; }
  .cal-now-line:before { background:var(--attn); }
  .cal-now-line:after { content:none; }
  .cal-now-tag { position:absolute;left:6px;z-index:5;transform:translateY(-50%);pointer-events:none;padding:1px 6px;border-radius:6px;background:var(--attn);color:#fff;font:800 13px var(--font-ui);font-variant-numeric:tabular-nums; }
  :root[data-theme=dark] .cal-now-tag { color:#1A0E05; }
  @media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-now-tag { color:#1A0E05; } }
  .cal-fold { position:sticky;top:64px;z-index:4;display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 16px;border-bottom:1px solid var(--rule);background:var(--surface-2);color:var(--ink-2);font-size:14px;font-weight:600; }
  .cal-fold i { font-style:normal;margin:0 2px; }
  .cal-fold b { color:var(--attn);font-weight:700; }
  .cal-fold button { min-height:32px;padding:0 4px;border:0;background:none;color:var(--brand-text);font:800 14px var(--font-ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer; }

  /* Blocos: o estado aparece na cor e no texto, sem legenda */
  .cal-workspace .cal-block { display:block;padding:0;gap:0;background:var(--surface);border:1px solid var(--rule-strong);border-left:4px solid var(--rule-strong);border-radius:8px;box-shadow:none;color:var(--ink);cursor:default; }
  .cal-workspace .cal-block:hover { outline:0;border-color:var(--ink-mute); }
  .cal-workspace .cal-block.is-ok { border-left-color:var(--ok);background:var(--surface); }
  .cal-workspace .cal-block.is-now { border-left-color:var(--brand-text);background:color-mix(in srgb,var(--brand-text) 12%,var(--surface)); }
  .cal-workspace .cal-block.is-done { background:var(--surface-2);border-color:var(--rule);border-left-color:var(--rule-strong); }
  .cal-workspace .cal-block.is-bad { border-left-color:var(--attn); }
  .cal-workspace .cal-block.is-moved { background:var(--wait-bg);border-color:var(--wait);border-left-color:var(--wait); }
  .cal-workspace .cal-block.is-late { border:2px solid var(--attn);border-left-width:4px; }
  .cal-block-main { display:flex;flex-direction:column;width:100%;height:100%;padding:8px 10px 4px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;overflow:hidden;min-width:0; }
  .cal-block-main:focus-visible { outline:2px solid var(--brand-text);outline-offset:-3px; }
  .cal-block-top { display:block; }
  .cal-block-time { display:block;font-size:13px;line-height:1.35;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .cal-block-time i { font-style:normal; }
  .cal-workspace .cal-block :is(.cal-block-time,.cal-block-name,.cal-block-svc) { color:inherit; }
  .cal-block-main>* { flex:none; }
  .cal-block-name { font-size:14px;line-height:1.35;font-weight:700;color:var(--ink); }
  .cal-block-svc { font-size:13px;line-height:1.35;color:var(--ink-2); }
  .cal-block-rec { color:var(--brand-text);font-weight:800; }
  .cal-block.is-late .cal-block-label { color:var(--attn);font-weight:800; }
  .cal-block.is-moved .cal-block-label { color:var(--wait);font-weight:800; }
  .cal-block-next { align-self:flex-start;margin-top:2px;padding:0 6px;font-size:13px; }
  .cal-block-alert { font-size:13px;color:var(--attn);font-weight:700; }
  .cal-block-acts { position:absolute;top:4px;right:6px;z-index:2;display:flex;gap:4px;max-width:calc(100% - 8px);opacity:0;pointer-events:none; }
  .cal-grid.is-dense .cal-act-resched { display:none; }
  .cal-block:is(:hover,:focus-within) .cal-block-acts,.cal-block.is-late .cal-block-acts { opacity:1;pointer-events:auto; }
  .cal-block.is-late:not(:hover):not(:focus-within) .cal-act-resched { display:none; }
  .cal-act-i { display:none; }
  .cal-grid.is-dense .cal-act-t { display:none; }
  .cal-grid.is-dense .cal-act-i { display:inline; }
  .cal-grid.is-dense .cal-act-arrived { min-width:28px;padding:0 6px;font-size:15px; }
  .cal-act { min-height:28px;padding:0 10px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:700 13px var(--font-ui);cursor:pointer; }
  .cal-act:hover { border-color:var(--ink); }
  .cal-act:focus-visible { outline:2px solid var(--brand-text);outline-offset:1px; }
  .cal-act-arrived { border-color:var(--brand-text);color:var(--brand-text); }
  .cal-block.is-late .cal-act-arrived { border-color:var(--attn);color:var(--attn); }
  .cal-block.is-compact .cal-block-svc { display:none; }
  /* Muitas colunas: a hora já está na régua, o bloco diz só o estado. */
  .cal-grid.is-dense .cal-block-top i,.cal-grid.is-dense .cal-block-label:not(.is-next) { display:none; }
  .cal-block-label.is-next { color:var(--attn);font-weight:800; }
  .nx-i { display:none; }
  .cal-grid.is-dense .nx-t { display:none; }
  .cal-grid.is-dense .nx-i { display:inline; }
  .cal-grid.is-dense .cal-block-label.is-next::before { content:'· ';color:var(--ink-2); }
  .cal-grid.is-dense .cal-block-main { padding:8px 8px 4px; }
  .cal-grid.is-dense .cal-block-hm { font-weight:800;color:var(--ink); }
  .cal-grid.is-dense .cal-block:not(.is-compact) .cal-block-name { white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
  @media(hover:none) { .cal-block-acts { opacity:1;pointer-events:auto; } }

  /* Semana: 7 colunas */
  .cal-workspace .cal-week { grid-template-columns:var(--cal-week-tpl,repeat(7,minmax(0,1fr)));border-top:0; }
  .cal-week-scroll { overflow:auto; }
  .cal-week-day { border-right:1px solid var(--rule); }
  .cal-week-head { gap:2px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--rule);cursor:pointer; }
  .cal-week-tile { display:flex;align-items:baseline;gap:6px; }
  .cal-week-dow { font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2); }
  .cal-week-date { font-size:22px;font-weight:800;color:var(--ink);line-height:1.1; }
  .cal-week-stats { font-size:13px;color:var(--ink-2); }
  .cal-week-stats b { display:block;font-size:14px;color:var(--ink);white-space:nowrap; }
  .cal-week-sub>* { white-space:nowrap; }
  .cal-wn-first { display:none; }
  .cal-week-sub { display:flex;flex-wrap:wrap;gap:0 8px;margin-top:1px; }
  .cal-week-sep { display:none; }
  .cal-week-free-n { font-style:normal;color:var(--ink-2); }
  .cal-week-free-n::before { content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--ok);vertical-align:1px; }
  .cal-week-todo { color:var(--attn);font-weight:700; }
  .cal-week-moved { color:var(--wait);font-weight:700;text-decoration:none; }
  .cal-week-occ { display:block;height:6px;margin-top:6px;border-radius:3px;background:var(--rule);overflow:hidden; }
  .cal-week-occ i { display:block;height:100%;background:var(--brand-text); }
  .cal-week-day.is-today .cal-week-head { background:color-mix(in srgb,var(--brand-text) 14%,var(--surface)); }
  .cal-week-day.is-today .cal-week-head span { color:inherit; }
  .cal-week-day.is-today .cal-week-dow { color:var(--brand-text); }
  .cal-week-hoje { display:inline; }
  .cal-week-day.is-past .cal-week-head { opacity:1; }
  .cal-week-list { gap:6px;padding:8px; }
  .cal-week-item { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 6px;padding:6px 8px;border-left:4px solid var(--rule-strong);border-radius:8px;border-color:var(--rule);border-left-color:var(--rule-strong); }
  .cal-week-item.is-ok { border-left-color:var(--ok); }
  .cal-week-item.is-now { border-left-color:var(--brand-text);background:color-mix(in srgb,var(--brand-text) 12%,var(--surface)); }
  .cal-week-item.is-done { background:var(--surface-2); }
  .cal-week-item.is-bad,.cal-week-item.is-overdue { border-left-color:var(--attn); }
  .cal-week-item time { font-size:13px;font-weight:700;color:var(--ink); }
  .cal-week-sigla { justify-self:end;font-size:13px;font-weight:800;color:var(--ink-2);text-decoration:none; }
  .cal-week-who { grid-column:1 / -1; }
  .cal-week-name { font-size:13px;font-weight:700;color:var(--ink);overflow-wrap:anywhere; }
  .cal-week-svc { display:none; }
  .cal-week-item .cal-state { margin-top:0;font-size:13px;color:var(--ink-2); }
  .cal-week-item .cal-state.is-wait { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
  .cal-week-item .cal-state:is(.is-bad,.is-overdue) { color:var(--attn);font-weight:700; }
  .cal-week-more { white-space:nowrap;min-height:32px;padding:0;text-align:left;color:var(--brand-text);font:700 13px var(--font-ui);text-decoration:underline;text-underline-offset:3px; }
  .cal-week-free { padding:8px;font-size:13px;color:var(--ink-mute); }
  .cal-week-day.is-closed { display:block;background:repeating-linear-gradient(135deg,transparent 0 8px,var(--rule-soft) 8px 9px); }
  .cal-week-day.is-closed .cal-week-head { cursor:default;background:transparent;border-bottom:0;padding:10px 8px; }
  .cal-week-day.is-closed .cal-week-tile { flex-direction:column;gap:0; }
  .cal-week-day.is-closed .cal-week-stats b { font-size:13px;font-weight:700;color:var(--ink-mute); }
}

@media(min-width:1024px) {
  .content:has(.cal-workspace) { padding-bottom:20px; }
  .cal-workspace { display:flex;flex-direction:column;height:calc(100dvh - 46px);min-height:520px;margin:0; }
  .cal-heading { flex:none; }
  .cal-heading .btn-primary { min-height:44px;gap:8px; }
  .cal-heading .cal-kbd { margin-left:4px;border-color:currentColor;background:transparent;color:inherit;opacity:.9; }
  .cal-status-slot { display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2); }
  .cal-status-slot .form-select { width:auto;min-width:0;min-height:40px;padding-block:0;font-size:14px;font-weight:800;color:var(--ink);border-color:transparent;background-color:transparent; }
  .cal-status-slot .form-select:hover { border-color:var(--rule-strong); }
  .cal-notif { display:none; }

  .cal-board { flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:16px;border:0;border-radius:0;background:transparent;overflow:visible; }
  .cal-sentinel,.cal-prof-chips,.cal-period,.cal-footnote { display:none; }
  .cal-top { display:flex;align-items:center;flex-wrap:wrap;gap:8px;grid-column:1 / -1;grid-row:1;margin-bottom:12px;position:relative; }
  .cal-commandbar,.cal-viewbar,.cal-filterbar { display:contents; }
  .cal-date-nav { display:contents; }
  .cal-workspace .cal-step { order:1;flex:none;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink); }
  #cal-prev { order:1; } .cal-datebtn { order:2; } #cal-next { order:3; } #cal-today { order:4; } .cal-views { order:5; }
  .cal-datebtn { display:flex;position:relative;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);cursor:pointer; }
  .cal-datebtn:focus-within { outline:2px solid var(--brand-text);outline-offset:2px; }
  .cal-datebtn-text { display:inline-flex;align-items:baseline;gap:6px;font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap; }
  .cal-datebtn-text small { font-size:13px;font-weight:600;color:var(--ink-mute); }
  .cal-datebtn:after { content:'';width:7px;height:7px;margin:-3px 0 0 2px;border:solid var(--ink-2);border-width:0 2px 2px 0;transform:rotate(45deg); }
  .cal-datebtn .form-input { position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer; }
  .cal-dt-short { display:none; }
  #cal-today { min-height:40px;padding:0 14px;border-color:var(--rule-strong);font-weight:800; }
  #cal-today.is-off { background:transparent;color:var(--ink-mute);border-color:var(--rule);cursor:default; }
  .cal-views { padding:3px;gap:2px;border-radius:10px;background:var(--surface-2); }
  .cal-views button { min-height:34px;padding:0 11px;border-radius:8px;color:var(--ink-2);font-weight:700; }
  .cal-views [aria-pressed=true] { background:var(--surface);color:var(--ink);border:1.5px solid var(--rule-strong);padding:0 9.5px;box-shadow:none; }
  .cal-only { order:6;min-height:40px;padding:0 14px;font-weight:800; }
  .cal-only:not([hidden]) { display:inline-flex;align-items:center; }
  .cal-search { order:7;margin-left:auto;flex:none;width:180px;min-width:0; }
  .cal-search input { min-height:40px;padding:0 40px 0 38px;font-size:14px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink); }
  .cal-search svg { left:12px;color:var(--ink-mute); }
  .cal-search .cal-kbd { display:inline-grid;position:absolute;right:8px; }
  .cal-filterbar .form-select { order:8;width:auto;min-width:0;max-width:150px;min-height:40px;font-size:14px;border:1px solid var(--rule-strong);border-radius:10px;background-color:var(--surface);color:var(--ink); }
  .cal-bell-wrap:not([hidden]) { display:block;position:relative;order:3; }
  .cal-bell-btn { position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer; }
  .cal-bell-btn i { position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--attn);color:#fff;font:800 13px var(--font-ui);font-style:normal; }
  :root[data-theme=dark] .cal-bell-btn i { color:#1A0E05; }
  @media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .cal-bell-btn i { color:#1A0E05; } }
  .cal-bell-menu { position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:268px;padding:6px;border:1px solid var(--rule-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg); }
  .cal-bell-menu[hidden] { display:none; }
  .cal-bell-menu :is(a,button) { display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--ink);font:600 14px var(--font-ui);text-align:left;text-decoration:none;cursor:pointer; }
  .cal-bell-menu :is(a,button):hover { background:var(--surface-2); }
  .cal-bell-menu b { min-width:22px;font-size:16px;font-weight:800; }
  .cal-bell-menu span { flex:1; }
  .cal-bell-menu em { font-style:normal;font-weight:800;color:var(--brand-text); }

  #cal-content { grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:0;border:1px solid var(--rule);border-radius:16px;background:var(--surface);overflow:hidden; }
  #cal-content>.cal-free-strip,#cal-content>.cal-mobile-day:not(.is-forced) { display:none; }
  #cal-content .cal-scroll { flex:1;min-height:0;overflow:auto;border-top:0;overscroll-behavior:contain; }
  #cal-content .cal-week-scroll { flex:1;min-height:0; }
  #cal-content .cal-mobile-day.is-forced { flex:1;min-height:0;overflow:auto; }
  #cal-content>.empty-state { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center; }
  .cal-retry { align-self:center;margin:0 0 32px; }
  .cal-workspace.is-empty-day1 :is(.cal-top,.cal-aside,.cal-status-slot,.cal-bell-wrap) { display:none; }
  .cal-workspace.is-empty-day1 #cal-content { border:0;background:none; }
  .cal-workspace.is-empty-day1 .cal-h1-agenda { display:inline !important; }

  .modal-overlay:has(.modal-container.cal-side) { justify-content:flex-end;align-items:stretch;padding:0;background:rgba(15,29,23,.2); }
  .modal-container.cal-side { width:420px;max-width:420px;height:100dvh;max-height:100dvh;border-radius:0;border-width:0 0 0 1px; }
}
@media(min-width:1024px) and (max-width:1279px) {
  .cal-search { display:none; }
  .cal-filterbar.is-open .cal-search { display:flex;order:20;flex:1 0 100%;width:auto;margin:0; }
  .cal-filter-toggle { display:inline-grid;order:7;place-items:center;margin:0 0 0 auto;width:40px;height:40px;padding:0;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink); }
  .cal-filter-toggle-text { display:none; }
  .cal-filter-toggle[aria-expanded=true] { background:var(--surface-2); }
  .cal-filterbar .form-select { min-width:0;max-width:112px;font-weight:700; }
  .cal-views button { padding:0 8px; }
  .cal-top { gap:6px; }
  .cal-workspace .cal-step { width:36px;min-width:36px; }
  .cal-datebtn { padding:0 8px;gap:4px; }
  #cal-today { padding:0 10px; }
  .cal-keys .k-ds,.cal-keys .k-s { display:none; }
  .cal-sum-extra,.cal-week-hoje,.cal-wk-hoje,.cal-more-t,.cal-datebtn-text small { display:none; }
  .cal-wn-full { display:none; }
  .cal-wn-first { display:inline; }
  .cal-week-sub>.cal-week-moved { white-space:normal; }
  .cal-heading .cal-heading-text .cal-summary-line { white-space:nowrap; }
  .cal-heading .cal-kbd,.cal-status-slot>span { display:none; }
}
@media(min-width:1280px) {
  .cal-filter-toggle { display:none; }
  .cal-workspace[data-view=day] .cal-board { grid-template-columns:minmax(0,1fr) 288px; }
  .cal-workspace[data-view=day] .cal-aside { display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:2;min-height:0;overflow:auto;padding:0 2px 4px 0; }
  .cal-aside>* { flex:none; }
  .cal-aside-card { padding:14px;border:1px solid var(--rule);border-radius:16px;background:var(--surface); }
  .cal-aside-card h2 { margin:0;font-size:15px;font-weight:800;color:var(--ink); }
  .cal-aside-h { display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px; }
  .cal-aside-h span { font-size:13px;color:var(--ink-2); }
  .cal-mini-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px; }
  .cal-mini-head span { display:flex;gap:2px; }
  .cal-mini-head button { display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--ink);cursor:pointer; }
  .cal-mini-head button:hover { background:var(--surface-2); }
  .cal-mini table { width:100%;border-collapse:collapse;table-layout:fixed; }
  .cal-mini th { padding:2px 0 4px;font-size:13px;font-weight:700;color:var(--ink-mute); }
  .cal-mini td { padding:1px;text-align:center; }
  .cal-mini td button { width:100%;max-width:34px;height:32px;border:1.5px solid transparent;border-radius:8px;background:none;color:var(--ink);font:600 13px var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer; }
  .cal-mini td button:hover { background:var(--surface-2); }
  .cal-mini td button.is-out { color:var(--ink-mute); }
  .cal-mini td button.is-today { border-color:var(--brand-text); }
  .cal-mini td button.is-sel { background:var(--btn-fill);border-color:var(--btn-fill);color:var(--btn-ink);font-weight:800; }
  .cal-mini td button:focus-visible,.cal-mini-head button:focus-visible { outline:2px solid var(--brand-text);outline-offset:1px; }
  .cal-aside-free { display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 0;border-top:1px solid var(--rule-soft); }
  .cal-aside-free:first-of-type { border-top:0;padding-top:0; }
  .cal-aside-free strong { font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .cal-aside-free>div { display:flex;flex-wrap:wrap;gap:6px; }
  .cal-aside .cal-free-chip,.cal-aside-more { min-height:32px;padding:0 10px;border:1.5px solid var(--brand-text);border-radius:10px;background:var(--surface);color:var(--brand-text);font:700 13px var(--font-ui);cursor:pointer; }
  .cal-aside .cal-free-chip:hover,.cal-aside-more:hover { background:var(--surface-2); }
  .cal-aside .cal-free-chip.is-extra { display:none; }
  .cal-aside-free>div.is-open .cal-free-chip.is-extra { display:inline-flex; }
  .cal-aside-none { margin:0;font-size:14px;color:var(--ink-2); }
  .cal-aside-card.is-wait { background:var(--wait-bg);border-color:var(--wait); }
  .cal-aside-card.is-wait h2,.cal-aside-card.is-wait .cal-aside-h span { color:var(--wait); }
  .cal-aside-move { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--wait) 30%,transparent); }
  .cal-aside-move:first-of-type { border-top:0; }
  .cal-aside-move>div { min-width:0;display:flex;flex-direction:column; }
  .cal-aside-move strong { font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .cal-aside-move span { font-size:13px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .cal-aside-move .btn { flex:none;min-height:32px;padding:0 12px;font-size:13px; }
  .cal-aside-card .link { margin-top:6px;border:0;background:none;padding:0;color:var(--brand-text);font:700 13px var(--font-ui);text-decoration:underline;cursor:pointer; }
}
@media(min-width:1024px) and (max-width:1439px) {
  .cal-grid-foot:has(.cal-keys) .cal-foot-hint,.cal-keys .k-ds { display:none; }
  .cal-keys { margin-right:auto; }
}
@media(prefers-reduced-motion:reduce) { .cal-skel-col span { animation:none; } }

/* Faixa de avisos a 360 px: o texto novo ("1 pede outra data") continua em uma linha. */
@media(max-width:420px) {
  .cal-notif-main { gap:10px;padding-left:14px; }
  .cal-notif .t { white-space:nowrap; }
  .cal-notif .go { padding:0 4px; }
  .cal-notif .go .go-w { display:none; }
}

.mv-short { display:none; }
@media(max-width:768px),(min-width:1024px) and (max-width:1279px) { .cal-week-moved .mv-short { display:inline; } .cal-week-moved .mv-long { display:none; } }

/* Planejamento: link discreto no fim da tela (celular); no computador o link fica no rodapé da grade. */
.cal-plan-end { margin:16px 0 0;text-align:center; }
.cal-plan-end .link { display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--brand-text);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px; }
@media(min-width:1024px) { .cal-plan-end { display:none; } }
