/* Scoped private CRM agenda; no public landing styles. */
#crmCalendar { min-width:0; padding-bottom:84px; }
.agenda-surface { --agenda-green:#206534; --agenda-green-bg:#EEF7F0; --agenda-amber:#775400; --agenda-amber-bg:#FFF6DB; color:var(--ink,#1F1F1F); }
.agenda-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:22px 0; }
.agenda-header h2 { margin:3px 0 7px; font-size:clamp(1.55rem,3vw,2rem); }
.agenda-eyebrow { color:var(--gold-ink,#73560E); font-size:.69rem; letter-spacing:.13em; font-weight:600; }
.agenda-muted { color:var(--muted,#5A6673); font-size:.8rem; line-height:1.55; }
.agenda-zone { font-size:.7rem; }
.agenda-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 15px; border:1px solid var(--line,#E4E0D6); border-radius:10px; background:#fff; color:var(--navy,#0D1B2A); font:600 .83rem 'Poppins',system-ui,sans-serif; cursor:pointer; text-align:center; gap:7px; }
.agenda-btn:hover:not(:disabled) { border-color:var(--gold,#C8A95B); background:#FFFCF4; }
.agenda-btn:disabled, .agenda-slot:disabled { cursor:default; }
.agenda-btn:disabled { opacity:.55; }
.agenda-btn.agenda-primary { background:var(--gold,#C8A95B); border-color:var(--gold,#C8A95B); }
.agenda-btn.agenda-primary:hover:not(:disabled) { background:#DEC178; }
.agenda-btn.agenda-danger { color:#A51830; border-color:#D9A8B2; }
.agenda-icon { width:48px; padding:0; flex:0 0 48px; font-size:1.35rem; }
.agenda-small { font-size:.75rem; padding:6px 10px; }
.agenda-toolbar { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:16px; background:#fff; border:1px solid var(--line,#E4E0D6); border-radius:14px; }
.agenda-week-nav,.agenda-view-controls { display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-width:0; }
.agenda-range { margin-left:6px; font-size:.84rem; color:var(--navy,#0D1B2A); }
.agenda-date-label { color:var(--muted,#5A6673); font-size:.7rem; display:flex; gap:6px; align-items:center; }
.agenda-date-label input { border:1px solid var(--line,#E4E0D6); border-radius:8px; padding:7px; font:inherit; color:var(--navy,#0D1B2A); min-width:0; }
.agenda-view-switch { display:flex; gap:3px; }
.agenda-view-switch [aria-pressed="true"] { background:var(--navy,#0D1B2A); color:#fff; }
.agenda-status-line { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin:15px 2px; font-size:.78rem; color:var(--muted,#5A6673); }
.agenda-chip { display:inline-flex; width:max-content; max-width:100%; align-items:center; border-radius:6px; padding:3px 7px; font-size:.65rem; font-weight:600; line-height:1.4; }
.agenda-available { color:#206534; background:#EEF7F0; }
.agenda-closed,.agenda-past { color:#58616A; background:#EDF0F2; }
.agenda-booked { color:#174D7D; background:#E8F0FA; }
.agenda-cancelled { color:#8F253A; background:#FCECF0; }
.agenda-completed { color:#535276; background:#F0EFF8; }
.agenda-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; align-items:stretch; }
.agenda-day { min-width:0; border:1px solid var(--line,#E4E0D6); border-radius:12px; overflow:hidden; background:#fff; }
.agenda-day-today { border-color:var(--gold,#C8A95B); box-shadow:0 0 0 1px var(--gold,#C8A95B); }
.agenda-day-head { background:#F9F8F3; min-height:68px; border-bottom:1px solid var(--line,#E4E0D6); padding:12px 9px; }
.agenda-day-head h3 { font-size:.78rem; line-height:1.5; text-transform:capitalize; }
.agenda-today-mark { font-size:.65rem; color:var(--gold-ink,#73560E); font-weight:600; }
.agenda-day-body { padding:9px; display:flex; flex-direction:column; gap:8px; min-height:260px; }
.agenda-no-bookings { color:#68737E; font-size:.76rem; padding:15px 2px; }
.agenda-day-bottom { margin-top:auto; border-top:1px solid #F0EDE4; padding-top:10px; display:grid; gap:8px; }
.agenda-day-bottom .agenda-muted { font-size:.69rem; }
.agenda-day-bottom .agenda-btn { padding:8px 4px; font-size:.7rem; }
.agenda-booking { width:100%; min-height:84px; display:grid; gap:5px; padding:10px; text-align:left; border:1px solid #D4E1EF; border-left:3px solid #235A86; border-radius:8px; background:#F5F9FE; color:var(--navy,#0D1B2A); font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.agenda-booking:hover { background:#EDF4FC; }
.agenda-booking-top { display:flex; flex-wrap:wrap; gap:5px; align-items:center; justify-content:space-between; font-size:.76rem; }
.agenda-client { font-size:.79rem; font-weight:600; }
.agenda-booking .agenda-muted { font-size:.68rem; }
.agenda-history summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:.72rem; color:#68737E; }
.agenda-footnote { color:var(--muted,#5A6673); font-size:.75rem; line-height:1.6; margin-top:15px; }
.agenda-message { padding:13px 16px; border-radius:10px; border:1px solid #D5DFEB; background:#EFF5FC; font-size:.84rem; line-height:1.55; margin-bottom:15px; }
.agenda-message[hidden] { display:none; }
.agenda-message .agenda-btn { margin:9px 0 0; display:flex; }
.agenda-message-warning { background:#FFF6DB; border-color:#DCC079; color:#684B06; }
.agenda-message-error { background:#FDEEF0; border-color:#E7B5BD; color:#8C1C30; }
.agenda-message-success { background:#EEF7F0; border-color:#A6CFB0; color:#206534; }
.agenda-loading { padding:20px; color:var(--muted,#5A6673); font-size:.86rem; }
.agenda-empty { border:1px dashed #D4C7A2; background:#fff; border-radius:14px; padding:40px 20px; text-align:center; }
.agenda-empty h3 { font-size:1rem; margin-bottom:10px; }
.agenda-empty p { color:var(--muted,#5A6673); margin-bottom:18px; }
.agenda-dialog { border:1px solid #C8B476; border-radius:18px; padding:0; width:min(540px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); margin:auto; background:#fff; color:var(--ink,#1F1F1F); box-shadow:0 28px 85px #0005; }
.agenda-dialog-wide { width:min(760px,calc(100vw - 28px)); }
.agenda-dialog::backdrop { background:rgba(13,27,42,.64); backdrop-filter:blur(3px); }
.agenda-form { display:flex; flex-direction:column; max-height:calc(100dvh - 34px); }
.agenda-dialog-head { display:flex; gap:15px; align-items:center; justify-content:space-between; padding:17px 22px; border-bottom:1px solid var(--line,#E4E0D6); }
.agenda-dialog-head h2 { font-size:1.13rem; line-height:1.4; margin:0; }
.agenda-dialog-body { overflow-y:auto; overscroll-behavior:contain; padding:22px; font-size:.88rem; line-height:1.6; }
.agenda-dialog-body p { margin:0 0 15px; }
.agenda-dialog-body h3 { font-size:.94rem; margin:16px 0 9px; }
.agenda-dialog-body label { display:grid; gap:6px; font-weight:500; font-size:.8rem; }
.agenda-dialog-body input:not([type="checkbox"]):not([type="radio"]),.agenda-dialog-body select { width:100%; min-height:48px; padding:10px; border:1px solid #C9CFD4; border-radius:8px; font:inherit; background:#fff; color:var(--navy,#0D1B2A); }
.agenda-dialog-body .agenda-check { display:flex; align-items:center; gap:10px; min-height:48px; }
.agenda-check input { width:20px; height:20px; accent-color:var(--navy,#0D1B2A); flex:0 0 20px; }
.agenda-dialog-foot { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; padding:15px 22px; border-top:1px solid var(--line,#E4E0D6); background:#FAF9F5; }
.agenda-form-error { color:#A51830; margin:12px 0 0 !important; }
.agenda-callout { border-left:3px solid var(--gold,#C8A95B); background:#FBF8EE; padding:12px; font-size:.81rem; color:#5B5034; }
.agenda-settings-top,.agenda-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:end; margin-bottom:18px; }
.agenda-weekly-hours { display:grid; gap:10px; }
.agenda-weekly-hours fieldset { border:1px solid var(--line,#E4E0D6); border-radius:10px; padding:5px 14px 14px; min-width:0; }
.agenda-weekly-hours legend { padding:0 6px; }
.agenda-interval { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; margin:0 0 9px; }
.agenda-advanced { margin-top:20px; border-top:1px solid var(--line,#E4E0D6); }
.agenda-advanced summary { min-height:48px; cursor:pointer; padding:14px 0; font-size:.84rem; font-weight:600; }
.agenda-slot-key { display:flex; flex-wrap:wrap; gap:10px; margin:15px 0; }
.agenda-slot-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.agenda-slot-grid[hidden],.agenda-custom-intervals[hidden],.agenda-slot-help[hidden] { display:none; }
.agenda-slot { min-height:61px; display:grid; gap:3px; padding:9px 7px; border:1px solid transparent; border-radius:9px; font:inherit; cursor:pointer; }
.agenda-slot strong { font-size:.82rem; }
.agenda-slot span { font-size:.65rem; }
.agenda-slot:not(:disabled):hover { border-color:var(--gold-ink,#73560E); }
.agenda-slot-draft { outline:2px solid var(--gold,#C8A95B); outline-offset:1px; }
.agenda-draft-status { margin:14px 0 !important; color:var(--gold-ink,#73560E); font-size:.81rem; }
.agenda-day-appointments .agenda-booking { margin-top:8px; }
.agenda-booking-detail h3 { font-size:1.2rem; }
.agenda-booking-detail p { margin:7px 0; }
.agenda-detail-actions { display:flex; gap:10px; flex-wrap:wrap; margin:20px 0; }
.agenda-offers { margin:15px 0; }
.agenda-offers fieldset { border:0; padding:0; min-width:0; }
.agenda-offers legend { font-size:.82rem; margin-bottom:10px; }
.agenda-offer-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; max-height:280px; overflow-y:auto; padding:3px; }
.agenda-dialog-body .agenda-offer { min-height:72px; display:flex; align-items:center; gap:8px; padding:10px; border:1px solid #CFDDEB; border-radius:9px; background:#F5F9FE; cursor:pointer; }
.agenda-offer input { width:18px; height:18px; flex:0 0 18px; accent-color:var(--navy,#0D1B2A); }
.agenda-offer span { display:grid; font-size:.69rem; }
.agenda-offer strong { font-size:.75rem; }
.agenda-offer:has(input:checked) { border-color:#174D7D; outline:1px solid #174D7D; }
body.agenda-dialog-open { overflow:hidden; }
body.agenda-dialog-open #assistBtn,body.agenda-dialog-open #assistPanel { visibility:hidden; pointer-events:none; }
.agenda-view-list { grid-template-columns:1fr; }
.agenda-view-list .agenda-day { display:grid; grid-template-columns:160px 1fr; }
.agenda-view-list .agenda-day-head { border-bottom:0; border-right:1px solid var(--line,#E4E0D6); }
.agenda-view-list .agenda-day-body { min-height:120px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.agenda-view-list .agenda-day-bottom { margin:0; border:0; }
@media (max-width:1000px) {
  .agenda-week:not(.agenda-view-list) { gap:6px; }
  .agenda-day-body { padding:7px; }
  .agenda-booking { padding:7px; }
}
@media (max-width:760px) {
  .agenda-header { align-items:flex-start; margin-top:18px; gap:12px; }
  .agenda-header-actions .agenda-btn { max-width:122px; }
  .agenda-zone { display:none; }
  .agenda-toolbar { padding:12px; gap:10px; }
  .agenda-range { flex-basis:100%; margin:4px 0 0; }
  .agenda-view-controls { width:100%; justify-content:space-between; }
  .agenda-view-switch { display:none; }
  .agenda-date-label { display:grid; font-size:.7rem; }
  .agenda-week,.agenda-week.agenda-view-week { grid-template-columns:1fr; gap:12px; }
  .agenda-day,.agenda-view-list .agenda-day { display:block; }
  .agenda-day-head,.agenda-view-list .agenda-day-head { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:11px 14px; border-right:0; border-bottom:1px solid var(--line,#E4E0D6); }
  .agenda-day-head h3 { font-size:.87rem; }
  .agenda-day-body,.agenda-view-list .agenda-day-body { display:flex; min-height:0; padding:13px; }
  .agenda-booking { padding:12px; }
  .agenda-booking-top { font-size:.85rem; }
  .agenda-client { font-size:.9rem; }
  .agenda-day-bottom,.agenda-view-list .agenda-day-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #F0EDE4; padding-top:10px; }
  .agenda-day-bottom .agenda-btn { padding:9px 12px; font-size:.77rem; }
  .agenda-day-bottom .agenda-muted { font-size:.77rem; }
  .agenda-no-bookings { padding:5px 0; }
  .agenda-dialog-head { padding:12px 15px; }
  .agenda-dialog-body { padding:16px; }
  .agenda-dialog-foot { padding:12px 15px; }
  .agenda-dialog-foot .agenda-btn { flex:1; }
  .agenda-slot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .agenda-settings-top,.agenda-two-fields { grid-template-columns:1fr; gap:12px; }
  .agenda-offer-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .agenda-interval { gap:7px; grid-template-columns:1fr 1fr; }
  .agenda-interval .agenda-btn { grid-column:1 / -1; justify-self:start; }
  .agenda-view-list .agenda-day-body { display:flex; }
}
