/* Local moderator surface: shared booking and authentication styles stay intact. */
body.moderator-ui { --ink:#182b43; --muted:#607084; --line:#dce3eb; --wash:#f5f7fa; --green:#225ecc; --green-2:#306cce; margin:0; padding:0; background:var(--wash); color:var(--ink); font-size:1rem; line-height:1.5; font-weight:400; }
body.moderator-ui .desk-shell { width:100%; max-width:none; margin:0; padding:0; }
body.moderator-ui .topbar { width:100%; min-height:72px; height:auto; margin:0; padding:12px clamp(18px,3vw,40px); gap:20px; background:#fff; border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:none; }
body.moderator-ui .brand-cluster { min-width:0; gap:12px; }
body.moderator-ui .brand { gap:10px; }
body.moderator-ui .brand img { width:32px; height:32px; }
body.moderator-ui .brand strong { display:block; font-size:1rem; font-weight:600; letter-spacing:-.02em; }
body.moderator-ui .topbar-actions { gap:18px; min-width:0; }
body.moderator-ui #deskMode { display:none; }
body.moderator-ui .staff-locale-selector { display:inline-flex; flex:0 1 auto; align-items:center; gap:8px; width:auto; min-width:0; max-width:250px; padding:0 8px; min-height:44px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:none; }
body.moderator-ui .staff-locale-selector > span { font-size:.875rem; font-weight:400; }
body.moderator-ui .staff-locale-selector > svg { width:17px; height:17px; flex:none; }
body.moderator-ui .staff-locale-selector select { width:145px; min-width:0; max-width:100%; height:42px; min-height:42px; padding:6px 24px 6px 6px; border:0; border-radius:6px; background-color:transparent; font-size:.875rem; font-weight:500; }
html[dir="rtl"] body.moderator-ui .staff-locale-selector select { padding:6px 6px 6px 24px; }
body.moderator-ui .topbar nav { gap:8px; }
body.moderator-ui .topbar nav a, body.moderator-ui .topbar nav button { min-height:44px; padding:8px; font-size:.875rem; font-weight:500; color:var(--ink); }
body.moderator-ui .topbar nav a:hover, body.moderator-ui .topbar nav button:hover { background:#f0f4f9; }
body.moderator-ui .access-gate { display:block; width:100%; max-width:500px; min-height:0; margin:clamp(28px,6vh,64px) auto 48px; padding:0 20px; }
body.moderator-ui .access-gate[hidden], body.moderator-ui [hidden] { display:none !important; }
body.moderator-ui #accessGate:not([data-copy-ready]) { visibility:hidden; }
body.moderator-ui .gate-card { width:100%; gap:22px; padding:32px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 30px #18344b06; }
body.moderator-ui .sign-in-heading { display:grid; gap:10px; margin:0 0 2px; }
body.moderator-ui .eyebrow { font-size:.8125rem; font-weight:500; letter-spacing:.03em; text-transform:none; color:var(--muted); }
body.moderator-ui .access-gate h1 { margin:0; font-size:1.875rem; font-weight:500; line-height:1.2; letter-spacing:-.035em; max-width:none; overflow-wrap:anywhere; }
body.moderator-ui .sign-in-heading > p:last-child { margin:0; font-size:1rem; line-height:1.55; color:var(--muted); }
body.moderator-ui .sign-in-field { display:grid; gap:7px; min-width:0; }
body.moderator-ui .gate-card label { font-size:.875rem; font-weight:500; line-height:1.5; color:var(--ink); }
body.moderator-ui .gate-card input { width:100%; min-height:48px; padding:11px 12px; border:1px solid #bdc9d7; border-radius:9px; background:#fff; color:var(--ink); font-size:1rem; line-height:1.5; box-shadow:none; }
body.moderator-ui .gate-card input::placeholder { color:#788699; opacity:1; }
body.moderator-ui .gate-card input:focus { border-color:#326fdc; box-shadow:0 0 0 3px #326fdc18; outline:2px solid transparent; }
body.moderator-ui .password-control { position:relative; min-width:0; }
body.moderator-ui .password-control input { padding-inline-end:52px; }
body.moderator-ui #toggleAccessPassword { position:absolute; inset-inline-end:3px; top:3px; width:44px; min-width:44px; height:42px; min-height:42px; padding:0; display:grid; place-items:center; color:var(--muted); background:transparent; border:0; border-radius:7px; }
body.moderator-ui #toggleAccessPassword:hover { background:#f0f4f9; color:var(--ink); }
body.moderator-ui #toggleAccessPassword svg { width:19px; height:19px; }
body.moderator-ui .caps-lock-notice { margin:0; font-size:.875rem; color:#805417; }
body.moderator-ui .primary-button, body.moderator-ui .secondary-button, body.moderator-ui .record-button { min-height:44px; font-size:.875rem; font-weight:500; letter-spacing:0; line-height:1.4; }
body.moderator-ui .primary-button { box-shadow:none; background:var(--green); border-color:var(--green); }
body.moderator-ui .primary-button:hover:not(:disabled) { background:#174ea9; border-color:#174ea9; }
body.moderator-ui .gate-card > .primary-button { width:100%; min-height:48px; font-size:1rem; }
body.moderator-ui .gate-card[aria-busy="true"] > .primary-button::before { content:""; width:15px; height:15px; border:2px solid #ffffff60; border-top-color:#fff; border-radius:50%; animation:desk-ui-spin .8s linear infinite; }
body.moderator-ui .account-help-link { width:auto; justify-self:center; padding:4px 0; min-height:32px; text-align:center; font-size:.875rem; line-height:1.45; font-weight:400; color:#235bb2; text-decoration:underline; text-underline-offset:3px; }
body.moderator-ui .form-error { margin:0; font-size:.875rem; line-height:1.5; font-weight:400; color:#a32b35; }
body.moderator-ui .gate-card .form-error:not([hidden]) { padding:11px 12px; border:1px solid #efc6ca; border-radius:9px; background:#fff5f5; }
body.moderator-ui .workspace { max-width:1380px; padding:24px clamp(16px,3vw,36px) 48px; }
body.moderator-ui .hero { align-items:center; gap:20px; min-height:0; padding:0; margin:0; }
body.moderator-ui .hero h1 { font-size:clamp(1.65rem,2.5vw,2rem); line-height:1.2; font-weight:500; letter-spacing:-.03em; margin:4px 0 8px; }
body.moderator-ui #projectDescription { font-size:1rem; line-height:1.5; }
body.moderator-ui .status-line { margin:12px 0; font-size:.875rem; min-height:22px; }
body.moderator-ui .desk-calendar-tools { margin:0 0 16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
body.moderator-ui .desk-calendar-tools > summary { padding:12px 16px; min-height:48px; cursor:pointer; font-size:.875rem; color:var(--muted); font-weight:500; }
body.moderator-ui .desk-calendar-tools[open] > summary { border-bottom:1px solid var(--line); color:var(--ink); }
body.moderator-ui .desk-calendar-tools .booking-link-card, body.moderator-ui .desk-calendar-tools .calendar-scope-panel { background:transparent; border:0; border-radius:0; box-shadow:none; margin:0; padding:16px; }
body.moderator-ui .desk-calendar-tools .calendar-scope-panel { padding-top:0; }
body.moderator-ui .desk-calendar-tools .calendar-scope-panel > div { width:100%; }
body.moderator-ui .booking-link-card span, body.moderator-ui .calendar-scope-panel p { font-size:.875rem; line-height:1.5; }
body.moderator-ui .schedule-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 16px; }
body.moderator-ui .calendar-view-filter { display:flex; align-items:center; gap:8px; margin-inline-start:auto; color:var(--muted); font-size:.875rem; font-weight:400; min-width:0; }
body.moderator-ui .calendar-view-filter select { max-width:270px; width:auto; min-width:160px; min-height:44px; padding:8px 12px; border:1px solid #c4d0dd; border-radius:9px; background:#fff; color:var(--ink); font-size:.875rem; font-weight:400; }
body.moderator-ui #schedulePermission, body.moderator-ui #scheduleTimeZone { font-size:.8125rem; font-weight:400; }
body.moderator-ui .schedule-tabs button { min-height:44px; font-size:.875rem; font-weight:500; }
body.moderator-ui .panel-heading { min-height:68px; padding:14px 18px; }
body.moderator-ui .panel-heading h2 { font-size:1.125rem; line-height:1.4; font-weight:500; }
body.moderator-ui .calendar-panel, body.moderator-ui .agenda-panel { border-radius:12px; }
body.moderator-ui .weekday-row span { font-size:.8125rem; font-weight:500; letter-spacing:0; }
body.moderator-ui .day-number { font-size:.875rem; font-weight:500; }
body.moderator-ui .agenda-item { padding:18px; }
body.moderator-ui .agenda-copy > strong, body.moderator-ui .agenda-time { font-size:1rem; font-weight:500; }
body.moderator-ui .agenda-copy span, body.moderator-ui .agenda-copy small, body.moderator-ui .moderator-assignment-control { font-size:.875rem; line-height:1.4; }
body.moderator-ui .status-chip, body.moderator-ui .moderator-badge { font-size:.8125rem !important; line-height:1.4; font-weight:500; text-transform:none; letter-spacing:0; }
body.moderator-ui .calendar-action-menu summary { min-height:44px; font-size:.875rem; font-weight:500; }
body.moderator-ui .agenda-pagination { font-size:.875rem; }
body.moderator-ui .field-grid label { font-size:.875rem; font-weight:500; }
body.moderator-ui dialog h2, body.moderator-ui dialog header strong { font-weight:500; }
body.moderator-ui :where(button,a,summary,select):focus-visible { outline:3px solid #80a9ef; outline-offset:3px; }
@keyframes desk-ui-spin { to { transform:rotate(360deg); } }
@media(max-width:850px) { body.moderator-ui .hero { align-items:flex-start; flex-direction:column; } body.moderator-ui .hero-actions { flex-wrap:wrap; } body.moderator-ui .calendar-view-filter { margin-inline-start:0; } body.moderator-ui .topbar { gap:12px; } }
@media(max-width:600px) {
  body.moderator-ui .topbar { flex-wrap:wrap; padding:10px 16px; gap:8px 12px; min-height:64px; }
  body.moderator-ui .brand strong { font-size:.9375rem; }
  body.moderator-ui .brand img { width:28px; height:28px; }
  body.moderator-ui .topbar-actions { display:contents; }
  body.moderator-ui .staff-locale-selector { margin-inline-start:auto; max-width:152px; padding:0 5px; }
  body.moderator-ui .staff-locale-selector > span, body.moderator-ui .staff-locale-selector > svg { display:none; }
  body.moderator-ui .staff-locale-selector select { width:128px; }
  body.moderator-ui .topbar nav { display:flex; width:100%; gap:12px; justify-content:flex-end; }
  body.moderator-ui .topbar nav a { display:inline-flex; }
  body.moderator-ui .topbar nav button { display:inline-flex; }
  body.moderator-ui .topbar nav a, body.moderator-ui .topbar nav button { padding:4px; }
  body.moderator-ui .access-gate { margin:24px auto 32px; padding:0 16px; }
  body.moderator-ui .gate-card { padding:24px; border-radius:14px; gap:20px; }
  body.moderator-ui .access-gate h1 { font-size:1.625rem; }
  body.moderator-ui .workspace { padding:20px 12px 36px; }
  body.moderator-ui .hero-actions > * { flex:1 1 135px; }
  body.moderator-ui .calendar-view-filter { width:100%; justify-content:space-between; flex-wrap:wrap; }
  body.moderator-ui .calendar-view-filter select { max-width:100%; flex:1; }
  body.moderator-ui .panel-heading { padding:12px; gap:8px; flex-wrap:wrap; }
  body.moderator-ui .agenda-item { padding:16px 12px; }
  body.moderator-ui .agenda-actions { grid-column:2; width:100%; }
  body.moderator-ui .booking-link-card { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { body.moderator-ui .gate-card[aria-busy="true"] > .primary-button::before { animation:none; } }
