/* All calendar rules are scoped to the new Tenant Admin view or its form fields. */
#view-admin-calendar { --ac-free:#047857; --ac-busy:#b45309; }
#view-admin-calendar *, #acCustomerFields * { min-width:0; box-sizing:border-box; }
#view-admin-calendar { overflow-wrap:anywhere; }
#view-admin-calendar button { cursor:pointer; font:inherit; }
#view-admin-calendar button:disabled { cursor:not-allowed; opacity:.55; }
#view-admin-calendar button:focus-visible { outline:3px solid var(--accent,#4a9eff); outline-offset:2px; }
#view-admin-calendar .page-header { flex-wrap:wrap; gap:12px; }
#view-admin-calendar .page-header h1 { font-size:clamp(1.5rem,3vw,2rem); }
#view-admin-calendar .ac-panel { padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); margin-bottom:18px; }
#view-admin-calendar .ac-toolbar, #view-admin-calendar .ac-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
#view-admin-calendar .ac-toolbar { justify-content:space-between; margin-bottom:16px; }
#view-admin-calendar .ac-period { margin:0; font-size:1.15rem; text-transform:capitalize; }
#view-admin-calendar .ac-period-nav, #view-admin-calendar .ac-mode { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
#view-admin-calendar .ac-toolbar button { border:1px solid var(--border); border-radius:9px; padding:9px 13px; background:var(--surface2); color:var(--text); min-height:42px; }
#view-admin-calendar .ac-mode button[aria-pressed=true] { background:var(--primary); color:#fff; }
#view-admin-calendar .ac-filters label { display:flex; flex-direction:column; gap:6px; flex:1 1 190px; font-size:.85rem; font-weight:600; }
#view-admin-calendar .ac-filters select, #view-admin-calendar .ac-filters input { width:100%; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--bg); font:inherit; }
#view-admin-calendar .ac-status-line { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:14px 0; font-size:.82rem; color:var(--text3); }
#view-admin-calendar .ac-status-line button { flex-shrink:0; }
#view-admin-calendar .ac-error { color:var(--danger,#b91c1c); }
#view-admin-calendar .ac-legend { display:flex; flex-wrap:wrap; gap:16px; font-size:.82rem; color:var(--text2); margin:12px 0; }
#view-admin-calendar .ac-legend span:first-child { color:var(--ac-free); }
#view-admin-calendar .ac-legend span:nth-child(2) { color:var(--ac-busy); }
#view-admin-calendar .ac-month, #view-admin-calendar .ac-week-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
#view-admin-calendar .ac-dow { text-align:center; padding:8px 0; font-size:.82rem; color:var(--text3); }
#view-admin-calendar .ac-day { display:flex; flex-direction:column; gap:8px; align-items:flex-start; text-align:left; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:10px; padding:12px; min-height:124px; overflow-wrap:anywhere; }
#view-admin-calendar .ac-selected { border:2px solid var(--primary); background:var(--surface2); }
#view-admin-calendar .ac-day strong { display:flex; flex-wrap:wrap; align-items:center; gap:5px; font-size:1.1rem; }
#view-admin-calendar .ac-day-count, #view-admin-calendar .ac-day-free { font-size:.77rem; }
#view-admin-calendar .ac-day-free { color:var(--ac-free); }
#view-admin-calendar .ac-today { font-size:.65rem; font-weight:500; }
#view-admin-calendar .ac-meter { display:block; width:100%; height:5px; background:#d1fae5; border-radius:3px; overflow:hidden; }
#view-admin-calendar .ac-meter > span { display:block; height:100%; background:#f59e0b; }
#view-admin-calendar .ac-week-scroll { overflow-x:auto; margin-top:14px; max-height:640px; border:1px solid var(--border); border-radius:10px; }
#view-admin-calendar .ac-week-grid { display:grid; grid-template-columns:54px repeat(7,minmax(120px,1fr)); min-width:900px; }
#view-admin-calendar .ac-time, #view-admin-calendar .ac-week-heading { padding:10px 6px; font-size:.76rem; border-bottom:1px solid var(--border); background:var(--surface2); }
#view-admin-calendar .ac-week-heading { position:sticky; top:0; z-index:1; }
#view-admin-calendar .ac-week-cell { border-left:1px solid var(--border); border-bottom:1px solid var(--border); padding:5px; min-height:60px; display:flex; flex-direction:column; gap:5px; }
#view-admin-calendar .ac-week-free { border:1px solid #6ee7b7; background:#ecfdf5; color:#065f46; border-radius:7px; padding:8px 5px; font-size:.75rem; text-align:left; }
#view-admin-calendar .ac-appointment { width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-align:left; border:1px solid #fcd34d; border-left:4px solid #f59e0b; background:#fffbeb; color:#78350f; border-radius:9px; padding:12px; font-size:.85rem; white-space:normal; overflow-wrap:anywhere; }
#view-admin-calendar .ac-week-cell .ac-appointment { padding:6px; font-size:.72rem; }
#view-admin-calendar .ac-badge { font-size:.7rem; font-weight:700; }
#view-admin-calendar .ac-day-row { margin-top:10px; }
#view-admin-calendar .ac-free-row { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:12px; border:1px solid #6ee7b7; background:#ecfdf5; color:#065f46; border-radius:10px; }
#view-admin-calendar .ac-free-row > div { display:flex; flex-direction:column; gap:5px; font-size:.85rem; }
#view-admin-calendar .ac-free-row button { flex-shrink:0; background:#fff; color:#065f46; padding:9px 12px; }
#view-admin-calendar .ac-unavailable, #view-admin-calendar .ac-empty { color:var(--text3); font-size:.85rem; padding:10px; }
#view-admin-calendar .ac-span { grid-column:1/-1; }
#view-admin-calendar .ac-note { font-size:.78rem; line-height:1.5; color:var(--text3); margin-top:12px; }
#view-admin-calendar #acDayTitle { text-transform:capitalize; margin-bottom:6px; }
#view-admin-calendar #acDaySummary { font-size:.88rem; color:var(--text3); }
#acCustomerFields { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:14px; margin-bottom:16px; }
#acCustomerFields small { display:block; font-size:.8rem; color:var(--text3); margin-top:6px; }
.navbar.tenant-calendar-navigation .nav-links { min-width:0; flex:1 1 auto; overflow-x:auto; }
.navbar.tenant-calendar-navigation .nav-links .nav-link { flex-shrink:0; }
.navbar.tenant-calendar-navigation .nav-user { flex-shrink:0; max-width:220px; }
.navbar.tenant-calendar-navigation .nav-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mobile-menu.tenant-calendar-navigation { z-index:101; overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu.tenant-calendar-navigation .nav-name { display:block; min-width:0; overflow-wrap:anywhere; }
.mobile-menu.tenant-calendar-navigation .mobile-menu-user { flex-wrap:wrap; }
@media(max-width:1280px) {
  .navbar.tenant-calendar-navigation .nav-links { display:none; }
  .navbar.tenant-calendar-navigation .btn-hamburger { display:flex; }
  .navbar.tenant-calendar-navigation .nav-user { margin-left:0; }
  .navbar.tenant-calendar-navigation .nav-user .nav-name,
  .navbar.tenant-calendar-navigation .nav-user .nav-avatar,
  .navbar.tenant-calendar-navigation .nav-user .btn-logout { display:none; }
}
@media(max-width:768px) {
  .navbar.tenant-calendar-navigation .nav-brand { min-width:0; flex:1 1 auto; }
  .navbar.tenant-calendar-navigation .nav-inner { gap:8px; }
  #view-admin-calendar .ac-panel { padding:12px; }
  #view-admin-calendar .ac-day { min-height:82px; padding:6px 3px; gap:5px; border-radius:7px; align-items:center; text-align:center; }
  #view-admin-calendar .ac-day strong { font-size:.95rem; }
  #view-admin-calendar .ac-day span, #view-admin-calendar .ac-day small { font-size:.65rem; }
  #view-admin-calendar .ac-month, #view-admin-calendar .ac-week-days { gap:3px; }
  #view-admin-calendar .ac-week-days .ac-day small { display:none; }
  #view-admin-calendar .ac-week-scroll { display:none; }
  #view-admin-calendar .ac-filters label { flex-basis:100%; }
  #view-admin-calendar .ac-free-row { gap:8px; }
  #view-admin-calendar .ac-toolbar { align-items:flex-start; }
  #view-admin-calendar .ac-day-free { line-height:1.25; }
  #view-admin-calendar .ac-today { display:none; }
}
