.calendar-workspace{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden}
.calendar-source-switch{display:flex;gap:8px;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--line);background:#131417}
.calendar-source-switch button{display:flex;gap:9px;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#1f2125;font-size:13px;font-weight:600}
.calendar-source-switch button span{font-size:10px;color:var(--muted);font-weight:400}
.calendar-source-switch button.active{border-color:var(--amber);background:#332a17;color:var(--amber)}
.calendar-source-content{display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(280px,.9fr);align-items:start}
.calendar-month{padding:22px;min-width:0}
.calendar-month-heading,.calendar-agenda-heading,.google-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.calendar-month-heading h3,.calendar-agenda-heading h3,.google-calendar-heading h3{font-size:18px;line-height:1.3;margin:0;color:var(--text)}
.calendar-month-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.calendar-month-actions button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:#242321;color:var(--text)}
.calendar-arrow{width:44px;font-size:27px;line-height:1}
.calendar-today{padding:8px 11px;font-size:12px}
.calendar-month-scroll{overflow-x:auto;scrollbar-width:thin}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.calendar-weekdays{padding:6px 0 10px;text-align:center;font-size:11px;color:var(--muted)}
.calendar-day{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;padding-inline:2px;min-height:68px;border:1px solid transparent;border-radius:9px;background:#111215;color:var(--text);font-size:14px;position:relative}
.calendar-day small{font-size:9px;line-height:1;color:var(--amber)}
.calendar-day.outside-month{opacity:.45}
.calendar-day.is-today{border-color:#947130}
.calendar-day.is-today:after{content:'';position:absolute;top:5px;right:5px;background:var(--amber);height:4px;width:4px;border-radius:50%}
.calendar-day:hover{border-color:var(--amber)}
.calendar-day.selected{background:var(--amber);border-color:var(--amber);color:#171006;opacity:1;font-weight:700}
.calendar-day.selected small{color:#332609}
.calendar-day.selected.is-today:after{background:#332609}
.calendar-key{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin:16px 0 0}
.calendar-key>span{width:6px;height:6px;display:block;background:var(--amber);border-radius:50%}
.calendar-day-agenda{padding:22px;border-left:1px solid var(--line);min-width:0}
.calendar-agenda-heading .eyebrow{font-size:10px;margin-bottom:6px}
.calendar-visits{display:grid;gap:10px}
.calendar-visit{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:10px;background:#202125;color:var(--text)}
button.calendar-visit:hover{border-color:var(--amber)}
.calendar-visit.done{opacity:.65}
.calendar-visit-time{flex-shrink:0;font-size:12px;color:var(--amber);padding-top:2px}
.calendar-visit-time small,.calendar-visit-copy span,.calendar-visit-copy small{display:block;margin-top:6px;font-size:11px;color:var(--muted);line-height:1.5}
.calendar-visit-copy{min-width:0;overflow-wrap:anywhere}
.calendar-visit-copy strong{font-size:13px;font-weight:650}
.calendar-empty{padding:25px 15px;border:1px dashed var(--line);border-radius:10px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
.calendar-note{font-size:12px;line-height:1.7;color:var(--muted);margin:15px 0 0}
.google-calendar-view{grid-column:1/-1;padding:22px;min-width:0}
.google-calendar-heading p{color:var(--muted);font-size:12px;margin:5px 0 0}
.google-calendar-heading{flex-wrap:wrap;margin-bottom:0}
.google-calendar-heading .button{font-size:12px}
.google-calendar-frame{display:block;width:100%;height:570px;border:0;border-radius:10px;background:#fff;margin-top:16px;color-scheme:light}
.google-calendar-footer{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:15px}
.google-calendar-footer .calendar-note{flex:1;min-width:230px;margin:0}
.google-calendar-footer a,.google-draft-actions a{text-decoration:none}
.drawer.planner-drawer{width:min(1120px,calc(100vw - 32px));max-width:none}
.planner-drawer .drawer-body{padding:24px}
.visit-planner{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.planner-calendar{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#131417;min-width:0}
.planner-calendar .calendar-source-content{display:block}
.planner-calendar .calendar-month{padding:16px}
.planner-calendar .calendar-day-agenda{padding:16px;border-left:0;border-top:1px solid var(--line)}
.planner-calendar .calendar-day{min-height:58px}
.planner-calendar .google-calendar-view{padding:16px}
.planner-calendar .google-calendar-frame{height:540px}
.visit-planner-form{min-width:0}
.visit-planner-form>h3{font-size:18px;margin:0 0 7px}
.visit-planner-form>.calendar-note{margin:0 0 20px}
.google-draft-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(max-width:1050px){.calendar-source-content{grid-template-columns:1fr}.calendar-day-agenda{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:800px){.visit-planner{grid-template-columns:1fr}.visit-planner-form{order:-1}.drawer.planner-drawer{width:min(620px,100vw)}.planner-drawer .drawer-body{padding:18px}.planner-calendar .calendar-month{padding:10px}.planner-calendar .calendar-day-agenda{padding:16px}.planner-calendar .calendar-source-switch{padding:10px}.planner-calendar .google-calendar-frame{height:440px}}
@media(max-width:600px){.calendar-month{padding:10px}.calendar-day-agenda,.google-calendar-view{padding:16px}.calendar-month-heading{flex-wrap:wrap;margin-bottom:12px}.calendar-source-switch{padding:10px;gap:6px}.calendar-source-switch button{padding:10px;font-size:12px}.calendar-source-switch button span{font-size:9px}.calendar-day{min-height:62px}.calendar-month-heading h3{font-size:17px}.calendar-agenda-heading{align-items:flex-start}.google-calendar-frame{height:480px}.google-calendar-heading h3{font-size:17px}.planner-drawer .drawer-body{padding:12px}.calendar-note{font-size:11px}.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav button{min-width:0;padding-left:3px;padding-right:3px}.mobile-nav .nav-text{font-size:10px}}
@media(max-width:740px){.mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.mobile-nav button{width:100%;min-height:44px;min-width:0;padding-left:2px;padding-right:2px}.mobile-nav .nav-text{font-size:10px}.mobile-nav button.active svg{padding-inline:8px}}

.booking-date-control{margin-top:12px}.booking-date-button{justify-content:space-between;width:100%;text-align:left}.booking-date-button::after{content:"▾"}.booking-date-button[aria-expanded="true"]::after{content:"▴"}.booking-date-panel{margin:12px 0 20px;scroll-margin-top:90px}.booking-date-panel[hidden]{display:none}
