/* FUNearby: who from the team is already near a postcode. Hairline; uses board.css tokens with fallbacks. */
.fun{--fun-line:var(--line-strong,#E6E2E7);--fun-muted:var(--placeholder,#77717B);--fun-ink:var(--ink,#000);
     --fun-chip:var(--choice-rest,#F4F6F8);--fun-chip-ink:var(--choice-rest-ink,#51728F);
     --fun-chip-on:var(--choice-active,#DCE3E9);--fun-chip-on-ink:var(--choice-active-ink,#26394A);
     font-family:var(--font,-apple-system,'Helvetica Neue',sans-serif);font-size:var(--t-label,15px);color:var(--fun-ink);line-height:1.35}
.fun ol{list-style:none;margin:0;padding:0}
.fun p{margin:0}
.fun a{color:inherit;text-decoration:none}
.fun-muted{color:var(--fun-muted)}
.fun-note{padding:10px 0;color:var(--fun-muted);font-size:var(--t-label,15px)}
.fun-err{color:var(--overdue,#D63D52)}
.fun-link{border:0;background:none;padding:0 0 0 6px;font:inherit;color:var(--blue,#4759FC);cursor:pointer}
.fun-link:hover{text-decoration:underline}

.fun-head{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--fun-line)}
.fun-origin{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fun-origin b{font-size:var(--t-body,17px);font-weight:700}
.fun-origin span{color:var(--fun-muted);font-size:var(--t-chip,14px)}
.fun-ctrls{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 0}
.fun-head .fun-ctrls{margin:0}
.fun-chips{display:flex;flex-wrap:wrap;gap:4px}
.fun-chip{height:28px;padding:0 10px;border:0;border-radius:var(--r-field,6px);background:var(--fun-chip);color:var(--fun-chip-ink);
          font:inherit;font-size:var(--t-chip,14px);cursor:pointer;white-space:nowrap}
.fun-chip:hover{color:var(--fun-chip-on-ink)}
.fun-chip[aria-pressed="true"]{background:var(--fun-chip-on);color:var(--fun-chip-on-ink);font-weight:700}
.fun-chip:focus-visible,.fun-btn:focus-visible,.fun-pick:focus-visible,.fun-row:focus-visible{outline:2px solid var(--blue,#4759FC);outline-offset:2px}

.fun-h{margin:16px 0 6px;font-size:var(--t-meta,12px);font-weight:500;color:var(--fun-muted);text-transform:uppercase;letter-spacing:.06em}

.fun-sugs{display:flex;flex-direction:column}
.fun-sug{padding:10px 0;border-bottom:1px solid var(--fun-line)}
.fun-sug:last-child{border-bottom:0}
.fun-line{display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap}
.fun-line .fun-who{font-size:var(--t-body,17px)}
.fun-day{font-weight:500;color:var(--blue,#4759FC) !important}
.fun-day:hover{text-decoration:underline}
.fun-free{color:var(--fun-muted);font-size:var(--t-meta,12px)}
.fun-reason{margin-top:2px !important;font-size:var(--t-chip,14px);color:var(--muted,#292829)}
.fun-book{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:8px}
.fun-durs{display:flex;flex-wrap:wrap;gap:4px}
.fun-btn{height:32px;padding:0 14px;border:0;border-radius:var(--r,8px);background:var(--fun-ink);color:#fff;font:inherit;
         font-size:var(--t-chip,14px);font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-button,0 0 6px rgba(0,0,0,.07))}
.fun-btn:disabled{opacity:.4;cursor:not-allowed}
.fun-btn-sm{height:28px;padding:0 10px}

.fun-dayg{padding:4px 0}
.fun-dayh{display:block;padding:6px 0 2px;font-weight:700;font-size:var(--t-chip,14px)}
.fun-dayh:hover{text-decoration:underline}
.fun-rows li{border-bottom:1px solid var(--line,#F3F1F3)}
.fun-rows li:last-child{border-bottom:0}
.fun-row{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 6px;margin:0 -6px;border-radius:var(--r-field,6px);
         white-space:nowrap;min-width:0;overflow:hidden}
.fun-row:hover{background:var(--sunken,#F3F1F3)}
.fun-time{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:var(--t-chip,14px)}
.fun-who{flex:0 0 auto;font-weight:700}
.fun-tag{flex:0 0 auto;display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--r-chip,4px);
         font-size:var(--t-meta,12px);font-weight:500;color:#fff;background:var(--k,#8E8891)}
.fun-k-sales_visit{--k:#5C6094} .fun-k-survey{--k:#476988} .fun-k-site_visit{--k:#8162A4}
.fun-k-fitting{--k:#2F8F6E} .fun-k-other{--k:#8E8891} .fun-k-service{--k:#E76C7A} .fun-k-half{--k:#26394A}
.fun-dist{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:var(--t-chip,14px)}
.fun-place,.fun-what,.fun-name{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-chip,14px)}
.fun-place{color:var(--fun-muted)}
.fun-name{flex:0 1 auto;font-weight:500}
.fun-what{flex:1 1 auto;color:var(--muted,#292829)}
.fun-fill-row{display:flex;align-items:center;gap:8px}
.fun-fill-row .fun-row{flex:1;margin-right:0}
.fun-fill .fun-name{flex:0 0 auto;max-width:36%}
.fun-fill .fun-what{flex:1 1 0}
.fun-fill .fun-place{flex:0 1 auto;max-width:24%}

/* compact: one line under a form field or bar */
.fun-compact .fun-compact-line{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-size:var(--t-chip,14px)}
.fun-lead{font-weight:500}
.fun-sep{color:var(--fun-muted)}
.fun-pick{border:0;background:var(--fun-chip);color:var(--fun-chip-on-ink);border-radius:var(--r-field,6px);padding:3px 8px;
          font:inherit;font-size:var(--t-chip,14px);cursor:pointer;white-space:nowrap}
.fun-pick:hover{background:var(--fun-chip-on)}
.fun-more{padding-left:4px}

/* dialog */
.fun-wrap{position:fixed;inset:0;z-index:70;background:var(--backdrop,rgba(0,0,0,.16));display:flex;align-items:flex-start;justify-content:center;
          padding:8vh 16px 16px;overflow-y:auto}
.fun-dlg{background:#fff;border-radius:var(--r-card,12px);width:min(660px,100%);box-shadow:var(--shadow-menu,0 8px 24px rgba(0,0,0,.10));
         padding:20px 24px 24px;font-family:var(--font,-apple-system,'Helvetica Neue',sans-serif)}
.fun-dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.fun-dlg-head h2{margin:0;font-size:var(--t-form,24px);font-weight:var(--w-head,650);line-height:1.2}
.fun-dlg-sub{margin:4px 0 0;font-size:var(--t-chip,14px);color:var(--placeholder,#77717B)}
.fun-x{flex:0 0 40px;width:40px;height:40px;border:0;border-radius:var(--r,8px);background:none;font-size:var(--t-title);line-height:1;cursor:pointer;color:var(--muted,#292829)}
.fun-x:hover{background:var(--sunken,#F3F1F3)}

@media (max-width:640px){
  .fun-wrap{padding:0;align-items:flex-end}
  .fun-dlg{border-radius:12px 12px 0 0;max-height:92vh;overflow-y:auto;padding:16px 16px 24px}
  .fun-dlg-head h2{font-size:var(--t-form)}
  .fun-place{display:none}
  .fun-fill-row{gap:8px;padding:4px 0}
  .fun-fill .fun-row{flex-wrap:wrap;row-gap:0;white-space:normal}
  .fun-fill .fun-row > *{white-space:nowrap}
  .fun-fill .fun-what{flex:1 1 100%;order:5}
  .fun-fill .fun-name{max-width:60%}
}
