/* Front desk (owner: Clark) */
.fd-pin-callout { display: inline-block; background: var(--banner-bg); color: var(--banner-text); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); margin: 0 0 var(--space-4); }
.fd .field { display: flex; flex-direction: column; gap: var(--space-1); }
.fd input, .fd select { font: inherit; min-height: 44px; padding: var(--space-2); border: 1px solid var(--muted); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); }
.fd input[type=checkbox], .fd input[type=radio] { min-height: 0; width: 1.25rem; height: 1.25rem; accent-color: var(--primary); }
.fd :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.fd-controls, .fd-grid { display: grid; gap: var(--space-3); grid-template-columns: 1fr; align-items: end; margin-bottom: var(--space-4); }
@media (min-width: 640px) { .fd-controls { grid-template-columns: repeat(2, 1fr); } .fd-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .fd-controls { grid-template-columns: 1fr 1fr auto auto; } }
.fd fieldset { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0 0 var(--space-3); }
.fd legend { font-weight: 600; padding: 0 var(--space-1); }
.fd-check, .fd-view span { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; }
.fd-nav, .fd-actions, .fd-statusbtns { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.fd-actions { margin-top: var(--space-4); }
.btn-sm { min-height: 44px; padding: var(--space-1) var(--space-3); font-size: .875rem; }
.fd-statusbtns .btn[aria-pressed=true] { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.fd-tablewrap { overflow-x: auto; }
.fd-table { width: 100%; border-collapse: collapse; }
.fd-table th, .fd-table td { text-align: left; padding: var(--space-2); border-bottom: 1px solid var(--border); vertical-align: top; }
.fd-sub { display: block; font-size: .875rem; color: var(--muted); }
.fd-badge { display: inline-block; font-size: .8125rem; font-weight: 600; padding: 0 var(--space-2); border: 1px solid currentColor; border-radius: 999px; margin-left: var(--space-2); }
.fd-st-checked-in .fd-badge { color: var(--primary); } .fd-st-done .fd-badge { color: var(--success); }
.fd-st-no-show .fd-badge { color: var(--danger); } .fd-st-cancelled { color: var(--muted); }
.fd-week { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
@media (min-width: 1000px) { .fd-week { grid-template-columns: repeat(5, 1fr); } }
.fd-weekday { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-2); }
.fd-weekday h3 { margin: 0; font-size: 1rem; }
.fd-weeklist, .fd-offlist, .fd-offnote { list-style: none; padding: 0; margin: var(--space-2) 0; display: grid; gap: var(--space-2); }
.fd-offlist li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.fd-offnote li { color: var(--warning); font-weight: 600; }
.fd-empty { color: var(--muted); }
.fd-time { font-variant-numeric: tabular-nums; font-weight: 600; }
.fd-panel { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.fd .field-error { color: var(--danger); font-weight: 600; }
/* Shared .btn-danger is white on #f87171 in dark mode (2.76:1). Keep a 4.5:1+ red here; flagged to Roy. */
.fd .btn-danger { background: #b91c1c; color: #fff; } .fd .btn-danger:hover { background: #991b1b; }
