.team{padding-block:42px}.team-lead{margin:16px 0;color:var(--muted)}.panel,dialog{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:22px}.panel{max-width:440px}.stack{display:grid;gap:14px}.stack label{display:grid;gap:5px;font-weight:650}.stack :is(input,select,textarea){display:block;width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.stack p,.demo-offer span{color:var(--muted);font-size:.86rem}.demo-offer{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cal-head,.toolbar,.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.toolbar{margin:24px 0 12px}.controls{display:flex;gap:6px}.controls .pill{padding:7px 14px}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden}.day{min-height:220px;background:var(--paper);padding:8px;border-right:1px solid var(--line)}.day:last-child{border-right:0}.day h3{font-size:.9rem;font-weight:700;margin:5px 0 8px}.day.current{background:#f5e4db}.event{display:block;text-align:left;width:100%;border:1px solid #c997a3;border-radius:8px;background:#f4dde3;color:var(--ink);padding:6px;margin:6px 0;overflow-wrap:anywhere}.event:hover{background:#eac7d1}.event span{display:block;font-size:.72rem}.event strong{display:block;font-size:.86rem}.event[data-kind=break]{background:#e5e9db;border-color:#aab397}.event[data-kind=cancelled]{background:#eee9e3;border-color:#baa99c}.empty{font-size:.76rem;color:var(--muted)}dialog{width:min(520px,calc(100vw - 32px));color:var(--ink)}dialog::backdrop{background:#30221e85}.dialog-head h3{font:1.7rem var(--serif)}.form-pair{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}#notice,#edit-error{color:var(--wine)}#notice{margin-top:12px}#edit-error:empty{display:none}@media(max-width:850px){.days{grid-template-columns:1fr}.day{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:9px 12px}.day:last-child{border-bottom:0}.event{padding:8px 10px}}

.calendar-options{display:flex;align-items:end;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}
.calendar-options label{display:grid;gap:3px;font-size:.83rem;font-weight:650}
.calendar-options :is(input,select){min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.calendar-options [aria-pressed=true]{background:var(--wine);color:white}
#calendar-summary{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.days-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line)}
.days-month .weekday{text-align:center;background:var(--paper);font-size:.82rem;font-weight:700;padding:6px}
.days-month .day,.day-spacer{min-height:90px;border:0;background:var(--paper)}
.days-month .day.current{background:#f5e4db}
.days-month .day h3{display:flex;align-items:center;justify-content:space-between;margin:0}
.pick-day{min-width:32px;min-height:32px;padding:2px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);font-weight:700}
.pick-day:hover{border-color:var(--wine)}
.pick-day[aria-pressed=true]{background:var(--wine);color:white}
.day-count{font-size:.72rem;color:var(--muted)}
.day-details{margin-top:16px;padding:0 12px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.day-details .toolbar{margin:10px 0}
.days-agenda{grid-template-columns:1fr}
.days-agenda .day{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
.days-agenda .day:last-child{border-bottom:0}
.days-agenda>.empty{padding:12px}
@media(max-width:850px){
 .days-month .day,.day-spacer{min-height:53px;padding:2px}
 .days-month .event{display:none}
 .days-month .day h3{flex-direction:column}
}
.booking-inbox{max-width:none;margin-bottom:20px;padding:14px 18px}
.booking-inbox h2{font-size:1.25rem}
.booking-count{display:inline-grid;place-items:center;min-width:1.55em;padding:0 5px;border-radius:99px;background:var(--wine);color:white;font-size:.85em}
#booking-notice{color:var(--wine);font-weight:650}
.booking-request{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.booking-request p{font-size:.86rem;color:var(--muted)}
.booking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.booking-actions select{padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.calendar-options .controls { flex-wrap: wrap; }
.pick-day.is-selected { background: var(--wine); color: white; }
.days-day { grid-template-columns: minmax(0, 1fr); }
.days-day .day { min-height: 0; padding: 14px; border: 0; }
.days-day .day h3 { margin-top: 0; }
.days-day .event { display: grid; grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; }
.days-day .event span:first-child { font-variant-numeric: tabular-nums; }
@media (max-width: 480px) {
  .days-day .event { grid-template-columns: 1fr auto; gap: 3px 8px; }
  .days-day .event strong { grid-row: 2; grid-column: 1 / -1; }
}

#team-mobile-nav, #filter-toggle { display: none; }
#calendar-filters { display: contents; }

@media (max-width: 700px) {
 .team-page .wrap { width: calc(100% - 28px); }
 .team-page .top { min-height: 68px; gap: 10px; }
 .team-page .top .brand-mark { width: 36px; height: 36px; }
 .team-page .top .underline { font-size: .77rem; text-align: right; }
 .team-page .team { padding-top: 20px; }
 .team-page:has(#team-mobile-nav:not([hidden])) .team {
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
 }
 .team-page:not([data-team-screen="inbox"]) #booking-inbox,
 .team-page[data-team-screen="inbox"] :is(#calendar, #admin-panel),
 .team-page #booking-toggle, .team-page #manage,
 .team-page #admin-calendar { display: none; }

 #team-mobile-nav {
  position: fixed;
  z-index: 5;
  inset: auto 0 0;
  display: flex;
  gap: 6px;
  padding: 6px max(12px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: var(--paper);
  border-top: 1px solid var(--line);
  box-shadow: 0 -4px 20px #30221e12;
 }
 #team-mobile-nav button {
  flex: 1;
  min-width: 0;
  min-height: 56px;
  display: grid;
  position: relative;
  place-content: center;
  justify-items: center;
  gap: 1px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  font-size: .76rem;
  font-weight: 700;
 }
 #team-mobile-nav button[aria-current="page"] { background: var(--wine); color: white; }
 #team-mobile-nav svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.75; }
 #mobile-booking-count {
  position: absolute;
  top: 4px;
  left: calc(50% + 10px);
  min-width: 19px;
  padding: 0 4px;
  border-radius: 99px;
  background: var(--wine);
  color: white;
 }
 #team-mobile-nav [aria-current="page"] #mobile-booking-count { background: white; color: var(--wine); }

 .team-page .team .pill, .team-page dialog .pill { min-height: 44px; }
 .team-page :is(input:not([type=checkbox]), select, textarea) { min-height: 44px; font-size: 16px; }
 .team-page .cal-head > .controls .pill { font-size: .78rem; }
 .team-page #calendar > .toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 18px;
 }
 #calendar > .toolbar h3 { grid-area: 1 / 1 / 2 / -1; font-size: 1.15rem; font-weight: 750; }
 #calendar > .toolbar .controls .pill, #add { padding-inline: 10px; }
 .calendar-options { display: grid; gap: 8px; }
 .calendar-options > .controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .calendar-options > .controls .pill { padding-inline: 3px; }
 #filter-toggle { display: inline-flex; justify-self: start; }
 #calendar-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
 #calendar-filters label:last-child { grid-column: 1 / -1; }
 #filter-toggle[aria-expanded="false"] + #calendar-filters { display: none; }
 #calendar-filters input[type=date] { width: 100%; }
 .team-page .calendar-picker select { margin: 4px 0 0; width: 100%; }
 .days-month .pick-day { width: 100%; min-width: 0; min-height: 42px; }
 .team-page .event { min-height: 44px; }
 .team-page dialog { max-height: calc(100dvh - 24px); overflow-y: auto; padding: 16px; }
 .team-page dialog [type=submit], .team-page #entry > .primary { width: 100%; }

 .team-page .booking-inbox { padding: 14px; }
 .team-page #booking-items { margin-top: 14px; }
 .team-page .booking-request { display: grid; padding-block: 14px; }
 .team-page .booking-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
 .team-page .booking-actions .primary { grid-column: 1 / -1; }
 .team-page .booking-actions select { width: 100%; min-width: 0; }
 .team-page .booking-actions .pill { padding-inline: 10px; }
 .team-page #booking-notice:not(:empty) { padding: 10px; border-radius: 8px; background: var(--rose); }
}
