/* Foundation: dashboard only. Other views and board cards keep their styling. */
.dashboard-foundation.wz-system {
  --wz-text-xs: max(12px, .75rem); --wz-text-sm: max(13px, .8125rem);
  --wz-text-md: max(14px, .875rem); --wz-text-lg: max(16px, 1rem);
  --surface: var(--wz-surface); --surface-2: var(--wz-surface-subtle); --surface-sunken: var(--wz-surface-hover);
  --text: var(--wz-text); --text-muted: var(--wz-text-secondary); --text-faint: var(--wz-text-muted);
  --border: var(--wz-border); --border-strong: var(--wz-border-control);
  --brand: var(--wz-accent); --brand-strong: var(--wz-accent-hover); --brand-soft: var(--wz-accent-soft); --brand-contrast: var(--wz-on-accent);
  --danger: var(--wz-danger); --danger-soft: var(--wz-danger-soft); --success: var(--wz-success); --warning: var(--wz-warning); --warning-soft: var(--wz-warning-soft);
  --s-won: var(--wz-success); --s-lost: var(--wz-danger);
  --radius-sm: var(--wz-radius-md); --radius: var(--wz-radius-lg); --radius-lg: var(--wz-radius-xl);
  --fs-2xs: var(--wz-text-xs); --fs-xs: var(--wz-text-sm); --fs-sm: var(--wz-text-md); --fs-md: var(--wz-text-lg); --fs-lg: var(--wz-text-xl);
  font-size: var(--wz-text-md); line-height: var(--wz-leading-body);
}
.main.dashboard-foundation { background: var(--wz-bg); }
.dashboard-foundation.app-header { background: var(--wz-surface); border-bottom: 1px solid var(--wz-border); }
.dashboard-foundation.app-header h1 { font-size: var(--wz-text-xl); font-weight: var(--wz-weight-semibold); }
.dashboard-foundation :is(button, a, [tabindex]):focus-visible { outline: 2px solid var(--wz-focus); outline-offset: 2px; }
.dashboard-foundation .btn { min-height: 40px; border-radius: var(--wz-radius-md); font-size: var(--wz-text-md); font-weight: var(--wz-weight-medium); box-shadow: none; }
.dashboard-foundation .btn--sm { min-height: 32px; }
.dashboard-foundation .pill { border-radius: var(--wz-radius-sm); font-size: var(--wz-text-xs); font-weight: var(--wz-weight-medium); letter-spacing: 0; }
.dashboard-dialog .sheet { display: flex; flex-direction: column; position: relative; overflow: hidden; max-height: 90dvh; border: 1px solid var(--wz-border); border-radius: var(--wz-radius-xl); background: var(--wz-surface); box-shadow: var(--wz-shadow-float); }
.dashboard-dialog .sheet__title { flex: none; margin: 0 0 16px; padding-right: 48px; font-size: var(--wz-text-xl); font-weight: 600; }
.dashboard-dialog .sheet__content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.dashboard-dialog .action-menu__item { min-height: 52px; border-radius: var(--wz-radius-md); }
.dashboard-dialog .action-menu__text b { font-size: var(--wz-text-md); font-weight: 500; }
/* Performance workspace: one analytical canvas, a focused queue and a stage journey. */
.dashboard-foundation .dash-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:4px 0 24px; }
.dashboard-foundation .dash-eyebrow { display:block; font-size:var(--wz-text-xs); letter-spacing:.12em; color:var(--wz-text-muted); font-weight:600; margin-bottom:6px; }
.dashboard-foundation .dash-heading h2 { margin:0; font-size:clamp(26px,2.6vw,36px); font-weight:600; letter-spacing:-.04em; line-height:1.2; }
.dashboard-foundation .dash-heading p { margin:8px 0 0; font-size:var(--wz-text-sm); color:var(--wz-text-secondary); }
.dashboard-foundation .dash-heading .btn { flex-shrink:0; }
.dashboard-foundation .dash-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 24px; padding:0 0 16px; border-bottom:1px solid var(--wz-border); }
.dashboard-foundation .dash-controls__label { color:var(--wz-text); font-weight:600; margin-right:12px; }
.dashboard-foundation .control { min-height:36px; padding:7px 10px; font-size:var(--wz-text-sm); border-color:transparent; background:transparent; }
.dashboard-foundation .control:hover { background:var(--wz-surface); border-color:var(--wz-border); }
.dashboard-foundation .control--on { background:var(--wz-accent-soft); color:var(--wz-accent); }
.dashboard-foundation .dash-controls__note { margin-left:auto; color:var(--wz-text-muted); font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-command-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; margin-bottom:24px; }
.dashboard-foundation :is(.dash-performance,.dash-focus,.dash-journey,.dash-insight) { min-width:0; border:1px solid var(--wz-border); border-radius:var(--wz-radius-xl); background:var(--wz-surface); overflow:hidden; }
.dashboard-foundation .dash-performance { background:var(--wz-surface); }
.dashboard-foundation .dash-summary-stack { display:grid; gap:20px; min-width:0; }
.dashboard-foundation .dash-performance .dash-section-head { padding:16px 20px 12px; }
.dashboard-foundation .dash-performance .dash-section-head p { margin:0; }
.dashboard-foundation .dash-performance .dash-section-head > div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; width:100%; }
.dashboard-foundation .dash-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 24px 20px; }
.dashboard-foundation .dash-section-head h3 { font-size:var(--wz-text-lg); font-weight:600; margin:0; letter-spacing:-.02em; }
.dashboard-foundation .dash-section-head p { margin:5px 0 0; font-size:var(--wz-text-sm); color:var(--wz-text-muted); }
.dashboard-foundation .dash-section-head > .icon { color:var(--wz-text-muted); flex-shrink:0; }
.dashboard-foundation .dash-featured-metrics { display:grid; grid-template-columns:1fr 1fr; padding:12px 20px 16px; gap:20px; }
.dashboard-foundation :is(.dash-featured-metrics,.dash-metric-strip) > button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; border:0; padding:0; color:var(--wz-text); background:transparent; text-align:left; cursor:pointer; min-width:0; }
.dashboard-foundation :is(.dash-featured-metrics,.dash-metric-strip) > button:hover > b { color:var(--wz-accent); }
.dashboard-foundation .dash-featured-metrics > button > span:first-child { font-size:var(--wz-text-md); color:var(--wz-text-secondary); }
.dashboard-foundation .dash-featured-metrics b { font-size:30px; line-height:1.2; font-weight:600; letter-spacing:-.035em; }
.dashboard-foundation .dash-featured-metrics > button:first-child b { color:var(--wz-accent); }
.dashboard-foundation :is(.dash-featured-metrics,.dash-metric-strip) small { font-size:var(--wz-text-xs); color:var(--wz-text-muted); }
.dashboard-foundation .dash-delta { display:flex; gap:4px; flex-wrap:wrap; font-size:var(--wz-text-xs); margin-top:3px; color:var(--wz-success); }
.dashboard-foundation .dash-delta.is-down { color:var(--wz-danger); }
.dashboard-foundation .dash-delta > span { color:var(--wz-text-muted); }
.dashboard-foundation .dash-metric-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--wz-surface); border-top:1px solid var(--wz-border); }
.dashboard-foundation .dash-metric-strip > button { padding:14px 20px; border-right:1px solid var(--wz-border); }
.dashboard-foundation .dash-metric-strip > button:last-child { border-right:0; }
.dashboard-foundation .dash-metric-strip > button > span:first-child { color:var(--wz-text-secondary); font-size:var(--wz-text-sm); }
.dashboard-foundation .dash-metric-strip b { font-size:22px; line-height:1.2; font-weight:600; letter-spacing:-.03em; }
.dashboard-foundation .dash-focus .dash-section-head { padding:22px 20px 16px; }
.dashboard-foundation .dash-focus-icon { display:grid; place-items:center; color:var(--wz-accent); background:var(--wz-accent-soft); border-radius:var(--wz-radius-md); width:36px; height:36px; flex-shrink:0; }
.dashboard-foundation .dash-focus-tabs { display:flex; gap:4px; margin:0 20px 4px; border-bottom:1px solid var(--wz-border); }
.dashboard-foundation .dash-focus-tabs > button { flex:1; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--wz-text-muted); padding:12px 0; font-size:var(--wz-text-sm); font-weight:500; cursor:pointer; }
.dashboard-foundation .dash-focus-tabs > button[aria-selected='true'] { color:var(--wz-accent); border-bottom-color:var(--wz-accent); }
.dashboard-foundation [role='tabpanel'][hidden] { display:none; }
.dashboard-foundation .dash-queue__list { max-height:420px; overflow-y:auto; }
.dashboard-foundation .is-clipped .dash-queue__extra { display:none; }
.dashboard-foundation .dash-queue__row { display:flex; flex-direction:column; gap:7px; width:calc(100% - 40px); padding:12px 0; margin:0 20px; border:0; border-bottom:1px solid var(--wz-border); background:transparent; color:var(--wz-text); text-align:left; font:inherit; cursor:pointer; }
.dashboard-foundation .dash-queue__row:hover { background:var(--wz-surface-subtle); }
.dashboard-foundation :is(.dash-queue__title,.dash-queue__meta) { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-width:0; }
.dashboard-foundation .dash-queue__title b { font-weight:600; }
.dashboard-foundation .dash-queue__title .pill { flex-shrink:0; }
.dashboard-foundation .dash-queue__meta { font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-queue__next { font-size:var(--wz-text-sm); color:var(--wz-text-secondary); overflow-wrap:anywhere; }
.dashboard-foundation .dash-queue__owner { font-size:var(--wz-text-xs); color:var(--wz-text-muted); }
.dashboard-foundation .dash-queue__more { display:block; margin:4px auto; }
.dashboard-foundation .dash-queue__footer { padding:10px 20px; display:flex; flex-direction:column; align-items:center; gap:4px; }
.dashboard-foundation .dash-queue__footer > span { font-size:var(--wz-text-xs); color:var(--wz-text-muted); text-align:center; }
.dashboard-foundation .dash-queue__empty { padding:42px 24px; color:var(--wz-text-muted); text-align:center; }
.dashboard-foundation .dash-queue__empty .icon { color:var(--wz-success); }
.dashboard-foundation .rwstrip { margin:0; padding:14px 20px; background:var(--wz-accent-soft); border:0; border-top:1px solid var(--wz-border); border-radius:0; box-shadow:none; gap:8px; }
.dashboard-foundation .rwstrip:hover { transform:none; }
.dashboard-foundation .rwstrip__icon { width:28px; height:28px; background:transparent; color:var(--wz-accent); }
.dashboard-foundation .rwstrip__main b { font-size:var(--wz-text-sm); }
.dashboard-foundation .rwstrip__rank { background:transparent; }
.dashboard-foundation .dash-journey { margin-bottom:0; }
.dashboard-foundation .dash-stage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 0; padding:0 12px 20px; }
.dashboard-foundation .dash-stage { min-width:0; padding:4px 16px; border:0; border-right:1px solid var(--wz-border); background:transparent; text-align:left; color:var(--wz-text); font:inherit; cursor:pointer; }
.dashboard-foundation .dash-stage:nth-child(3n) { border-right:0; }
.dashboard-foundation .dash-stage:hover { background:var(--wz-accent-soft); }
.dashboard-foundation .dash-stage__label { display:flex; align-items:center; gap:8px; font-size:var(--wz-text-sm); white-space:nowrap; }
.dashboard-foundation .dash-stage__number { font-size:var(--wz-text-xs); color:var(--wz-text-muted); }
.dashboard-foundation .dash-stage > b { display:block; font-size:28px; font-weight:600; letter-spacing:-.03em; margin:12px 0; }
.dashboard-foundation .dash-stage__track { display:block; height:5px; background:var(--wz-surface-hover); border-radius:3px; overflow:hidden; }
.dashboard-foundation .dash-stage__track i { display:block; height:100%; background:var(--wz-accent); border-radius:3px; }
.dashboard-foundation .dash-stage:last-child .dash-stage__track i { background:var(--wz-success); }
.dashboard-foundation .dash-stage__footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px; margin-top:10px; color:var(--wz-text-muted); font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-health { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--wz-border); padding:16px 24px; gap:20px; background:var(--wz-surface-subtle); }
.dashboard-foundation .dash-health > * { display:flex; flex-direction:column; gap:5px; min-width:0; }
.dashboard-foundation .dash-health small { display:flex; align-items:center; gap:4px; color:var(--wz-text-muted); font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-health b { font-size:var(--wz-text-lg); font-weight:600; }
.dashboard-foundation .dash-health button { background:none; border:0; padding:0; text-align:left; color:var(--wz-danger); cursor:pointer; }
.dashboard-foundation .dash-health button b span { font-size:var(--wz-text-sm); font-weight:400; }
.dashboard-foundation .dash-losses { border-top:1px solid var(--wz-border); }
.dashboard-foundation .dash-losses summary { padding:12px 24px; font-size:var(--wz-text-sm); cursor:pointer; color:var(--wz-text-secondary); }
.dashboard-foundation .dash-losses summary > span { margin-left:12px; color:var(--wz-text-muted); font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-losses > div { padding:0 24px 24px; max-width:700px; }
.dashboard-foundation .dash-insights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dashboard-foundation .dash-sources { padding:0 24px 24px; }
.dashboard-foundation .dash-source { display:flex; gap:16px; align-items:center; padding:12px 0; }
.dashboard-foundation .dash-source__rank { color:var(--wz-text-muted); font-size:var(--wz-text-xs); }
.dashboard-foundation .dash-source > div { flex:1; min-width:0; }
.dashboard-foundation .dash-source__label { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:var(--wz-text-md); margin-bottom:9px; }
.dashboard-foundation .dash-source__label b { white-space:nowrap; font-size:var(--wz-text-sm); font-weight:500; }
.dashboard-foundation .dash-source__label small { display:inline-block; min-width:50px; text-align:right; color:var(--wz-text-muted); font-size:var(--wz-text-xs); font-weight:400; }
.dashboard-foundation .dash-source__track { display:block; height:5px; background:var(--wz-surface-hover); border-radius:3px; overflow:hidden; }
.dashboard-foundation .dash-source__track i { display:block; height:100%; background:var(--wz-accent); border-radius:3px; }
.dashboard-foundation .dash-service-list { padding:10px 24px 24px; }
.dashboard-foundation .dash-service-list .bar-list { gap:22px; }
.dashboard-foundation .dash-service-list .bar-row__track { height:5px; }
.dashboard-foundation .dash-service-list .bar-row__label { font-weight:400; }
.dashboard-foundation .dash-business-splits { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:0 24px 24px; }
.dashboard-foundation .split + .split { margin:0; }
.dashboard-foundation .split__key { font-size:var(--wz-text-xs); }
.dashboard-foundation .split__key > :first-child { text-transform:none; letter-spacing:0; }
.dashboard-foundation .split__row { padding:12px 6px; }
.dashboard-foundation .split__num { font-size:var(--wz-text-xs); }
.dashboard-foundation .reprail { display:flex; flex-direction:column; gap:0; padding:0 24px 12px; overflow:visible; }
.dashboard-foundation .repcard { display:grid; grid-template-columns:24px 32px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; border:0; border-bottom:1px solid var(--wz-border); border-radius:0; text-align:left; }
.dashboard-foundation .repcard:last-child { border-bottom:0; }
.dashboard-foundation .repcard:hover { background:var(--wz-surface-subtle); }
.dashboard-foundation .repcard__rank { position:static; color:var(--wz-text-muted); background:transparent; font-size:var(--wz-text-xs); }
.dashboard-foundation .repcard__identity { display:flex; flex-direction:column; min-width:0; gap:4px; }
.dashboard-foundation .repcard__result { display:flex; flex-direction:column; text-align:right; gap:4px; }
.dashboard-foundation .repcard__value { font-size:var(--wz-text-lg); font-weight:600; }
.dashboard-foundation .dash-scope { font-size:var(--wz-text-xs); color:var(--wz-text-muted); margin:24px 0 0; }
.dashboard-foundation .dash-empty { margin:0; padding:24px; color:var(--wz-text-muted); }
.dashboard-foundation .dash-error { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; margin:0 0 24px; background:var(--wz-danger-soft); border:1px solid var(--wz-border); border-radius:var(--wz-radius-lg); }
@media (max-width:1500px) { .dashboard-foundation .dash-business-splits { grid-template-columns:minmax(0,1fr); } }
@media (max-width:1250px) {
  .dashboard-foundation .dash-command-grid { grid-template-columns:minmax(0,1fr) 310px; gap:20px; }
  .dashboard-foundation .dash-stage-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 0; }
  .dashboard-foundation .dash-stage:nth-child(3) { border-right:0; }
  .dashboard-foundation .dash-controls__note { flex-basis:100%; margin:0; }
}
@media (max-width:1050px) {
  .dashboard-foundation .dash-command-grid { grid-template-columns:minmax(0,1fr); }
  .dashboard-foundation .dash-queue__list { max-height:400px; }
  .dashboard-foundation .dash-health { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:699px) {
  .dashboard-foundation .dash-heading { gap:12px; margin-bottom:20px; }
  .dashboard-foundation .dash-heading h2 { font-size:26px; }
  .dashboard-foundation .dash-heading .btn { padding:8px 12px; font-size:var(--wz-text-sm); }
  .dashboard-foundation .dash-heading .btn > .icon { display:none; }
  .dashboard-foundation .dash-controls__label { display:none; }
  .dashboard-foundation .control { flex:1 1 42%; min-width:0; background:var(--wz-surface); border-color:var(--wz-border); }
  .dashboard-foundation .control__value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dashboard-foundation .control > .icon:first-child { display:none; }
  .dashboard-foundation .dash-section-head { padding:20px 16px 16px; }
  .dashboard-foundation .dash-featured-metrics { padding:10px 16px 14px; gap:16px; }
  .dashboard-foundation .dash-featured-metrics b { font-size:28px; }
  .dashboard-foundation .dash-metric-strip > button { padding:12px 10px; gap:5px; }
  .dashboard-foundation .dash-metric-strip b { font-size:21px; }
  .dashboard-foundation .dash-metric-strip small { font-size:12px; }
  .dashboard-foundation .dash-stage-grid { padding:0 0 20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-foundation .dash-stage:nth-child(3) { border-right:1px solid var(--wz-border); }
  .dashboard-foundation .dash-stage:nth-child(even) { border-right:0; }
  .dashboard-foundation .dash-health { padding:16px; gap:20px 12px; }
  .dashboard-foundation .dash-journey .dash-section-head { align-items:start; }
  .dashboard-foundation .dash-journey .dash-section-head .btn { display:none; }
  .dashboard-foundation .dash-losses summary { padding:14px 16px; }
  .dashboard-foundation .dash-losses summary > span { display:block; margin:4px 0 0; }
  .dashboard-foundation .dash-insights-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .dashboard-foundation :is(.dash-sources,.dash-service-list,.dash-business-splits) { padding-left:16px; padding-right:16px; }
  .dashboard-foundation .reprail { padding:0 16px 12px; }
  .dashboard-foundation .repcard { grid-template-columns:20px 28px minmax(0,1fr) auto; gap:8px; }
  .dashboard-foundation .repcard > .avatar { width:28px; height:28px; }
}

.dashboard-foundation .home-availability { margin-bottom:20px; background:var(--wz-surface); border:1px solid var(--wz-border); border-radius:14px; overflow:hidden; }
.dashboard-foundation .home-availability__filters { display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 16px; }
.dashboard-foundation .home-availability__filters [aria-pressed="true"] { color:var(--wz-accent); border-color:var(--wz-accent); }
.dashboard-foundation .home-availability__cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; padding:0 20px 20px; max-height:360px; overflow:auto; }
.dashboard-foundation .home-availability__person { padding:14px; border:1px solid var(--wz-border); border-radius:10px; min-width:0; }
.dashboard-foundation .home-availability__person header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.dashboard-foundation .home-availability__person h4 { margin:0; font-size:14px; overflow-wrap:anywhere; }
.dashboard-foundation .home-availability__entry { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:10px; }
.dashboard-foundation .home-availability__entry small { color:var(--wz-text-muted); }
.dashboard-foundation .home-availability__empty { grid-column:1/-1; margin:0; color:var(--wz-text-muted); font-size:14px; }
@media(max-width:540px) {
  .dashboard-foundation .home-availability__cards { grid-template-columns:1fr; padding:0 16px 16px; }
  .dashboard-foundation .home-availability__filters { padding:0 16px 12px; }
}

.availability-page { max-width:1200px; margin:auto; }
.availability-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.availability-heading :is(h2,h3,p) { margin:0; }
.availability-heading p { margin-top:6px; font-size:13px; }
.availability-heading h2 { font-size:24px; letter-spacing:-.03em; }
.availability-heading h3 { font-size:17px; }
.availability-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:18px; }
.availability-toolbar label { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--text-muted); }
.availability-toolbar .input { width:auto; }
.availability-toolbar input[type="search"] { flex:1; min-width:180px; }
.availability-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.availability-stats > div { display:flex; flex-direction:column; gap:6px; border:1px solid var(--border); border-radius:12px; padding:18px; background:var(--surface); }
.availability-stats strong { font-size:28px; font-weight:600; }
.availability-stats :is(span,small) { color:var(--text-muted); font-size:12px; }
.availability-section { border:1px solid var(--border); border-radius:14px; background:var(--surface); padding:20px; margin-bottom:20px; }
.availability-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; }
.availability-person { min-width:0; padding:16px; border:1px solid var(--border); border-radius:10px; }
.availability-person header { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.availability-person header b { overflow-wrap:anywhere; font-size:14px; }
.availability-person p { font-size:12px; color:var(--text-muted); margin:10px 0 0; }
.availability-person small { display:block; margin-top:10px; font-size:12px; color:var(--text-muted); }
.availability-form-actions { display:flex; justify-content:flex-end; gap:10px; }
@media(max-width:540px) {
 .availability-heading { align-items:flex-start; flex-wrap:wrap; }
 .availability-stats { gap:6px; }
 .availability-stats > div { padding:12px 10px; }
 .availability-stats strong { font-size:24px; }
 .availability-section { padding:16px; }
 .availability-grid { grid-template-columns:1fr; }
}

.availability-table-scroll { overflow-x:auto; }
.availability-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.availability-table th { color:var(--text-muted); font-weight:500; background:var(--surface-2); }
.availability-table :is(th,td) { padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:middle; white-space:nowrap; }
.availability-table :is(th,td):last-child { text-align:right; }
.availability-table tbody tr:last-child td { border-bottom:0; }

.availability-table--team :is(th,td):last-child { text-align:left; }
.availability-table-person { display:flex; align-items:center; gap:10px; }
.availability-table-person b { font-weight:500; }
.availability-table-next { display:block; margin-top:4px; color:var(--text-muted); }

.attendance-panel { border:1px solid var(--wz-border); border-radius:var(--wz-radius-lg,12px); background:var(--wz-surface); padding:16px; margin-bottom:16px; }
.attendance-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.attendance-heading :is(h2,h3) { margin:0; font-size:16px; }
.attendance-heading small,.attendance-checkin small { display:block; color:var(--wz-text-secondary); font-size:12px; }
.attendance-checkin { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:12px; }
.attendance-checkin strong { display:block; margin-top:4px; font-size:14px; }
.attendance-progress { flex:1; }
.attendance-note { font-size:12px; color:var(--wz-text-secondary); margin:10px 0; }
.attendance-warning { color:var(--wz-warning); font-size:13px; }
.attendance-missing { font-size:13px; margin:10px 0; }
.attendance-missing summary { color:var(--wz-danger); cursor:pointer; }
.attendance-missing a { display:block; margin-top:6px; }
.attendance-report-heading { border-top:1px solid var(--wz-border); padding-top:12px; margin:12px 0 8px; }
.attendance-report-heading .select { width:auto; font-size:12px; min-height:34px; }
.attendance-panel .attendance-reason { white-space:normal; min-width:170px; max-width:280px; font-size:12px; }
.attendance-details h3 { font-size:14px; margin-top:16px; }
@media(max-width:540px) {
 .attendance-panel { padding:12px; }
 .attendance-checkin { gap:12px; }
 .attendance-checkin>div { flex:1 1 40%; }
 .attendance-checkin>button { flex:1; }
 .attendance-heading { flex-wrap:wrap; }
}

body.crm-access-locked { overflow:hidden!important; }
body.crm-access-locked > :not(#crm-access-lock) { filter:blur(10px); pointer-events:none!important; user-select:none; }
#crm-access-lock { position:fixed; inset:0; z-index:2147483647; display:grid; place-items:center; padding:20px; background:rgba(10,14,23,.8); backdrop-filter:blur(16px) saturate(.35); overflow:auto; }
.crm-lock-card { width:min(100%,480px); padding:28px; border:1px solid var(--wz-border); border-radius:18px; background:var(--wz-surface); color:var(--wz-text); box-shadow:0 24px 80px #0006; outline:none; }
.crm-lock-card h1 { font-size:24px; line-height:1.25; margin:16px 0 12px; }
.crm-lock-card p { font-size:14px; line-height:1.6; color:var(--wz-text-secondary); }
.crm-lock-card small { font-size:12px; color:var(--wz-text-secondary); }
.crm-lock-symbol { font-size:28px; }
.crm-lock-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.crm-lock-feedback:empty { display:none; }
#daily-grace-notice { position:fixed; bottom:80px; left:50%; transform:translateX(-50%); z-index:9999; width:min(90%,650px); padding:12px 16px; border-radius:10px; background:#49321c; color:#fff0d2; font-size:13px; box-shadow:0 4px 20px #0004; }
#daily-grace-notice a { color:inherit; }
.access-admin-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--wz-border); }
.access-admin-row small { display:block; font-size:12px; color:var(--wz-text-secondary); margin-top:4px; }
