:root{--cal-color-seminar: #1a73e8;--cal-color-webinar: #34a853;--cal-color-today: #c5070d;--cal-color-focus-ring: #1a73e8}.hero-calendar-slot{margin-top:1.25rem;width:100%}.cal-skeleton{width:100%;min-height:320px;border-radius:var(--radius-lg, 20px);background:var(--surface-solid, #fff);border:1px solid var(--border-light, rgba(0, 0, 0, .06));box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06));display:flex;align-items:center;justify-content:center;color:var(--text-muted, #64748b);font-size:.875rem}.hero-calendar-slot .rdp{--rdp-cell-size: 36px;--rdp-accent-color: var(--cal-color-today);width:100%;font-size:.8125rem}.hero-calendar-slot .rdp-day_button{width:36px;height:36px;border-radius:50%;outline:none}.hero-calendar-slot .rdp-day_button:focus-visible{outline:3px solid var(--cal-color-focus-ring);outline-offset:2px}.hero-calendar-slot .rdp-today .rdp-day_button{border:2px solid var(--cal-color-today);font-weight:700}.cal-event-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 1px}.cal-day-with-events{position:relative}.cal-day-dots-row{display:flex;justify-content:center;gap:2px;margin-top:-4px;pointer-events:none}.cal-popover{position:absolute;z-index:50;left:50%;transform:translate(-50%);top:calc(100% + 8px);width:max-content;min-width:280px;max-width:min(380px,92vw);max-height:320px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface-solid, #fff);border:1px solid var(--border-light, rgba(0, 0, 0, .06));border-radius:var(--radius-md, 12px);box-shadow:0 12px 32px #0000002e,0 2px 8px #0000001f;padding:1rem;animation:cal-popover-in .15s ease-out}.cal-popover-header{font-weight:700;font-size:.875rem;margin-bottom:.75rem;color:var(--text, #1a202c)}.cal-popover-event{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .06))}.cal-popover-event:last-child{border-bottom:none}.cal-popover-event-link{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.5rem;border-radius:6px;text-decoration:none;color:inherit;transition:background .15s}.cal-popover-event-link:hover{background:var(--muted, #f3f4f6)}.cal-popover-event-link .cal-popover-event-color{width:8px;height:32px;border-radius:4px;flex-shrink:0;margin-top:0}.cal-popover-event-cta{font-size:.8125rem;font-weight:600;color:var(--cal-color-webinar, #2563eb);flex-shrink:0;white-space:nowrap;margin-left:auto}.cal-popover-event-color{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.cal-popover-event-info{flex:1 1 9rem;min-width:0}.cal-popover-event-title{font-size:.8125rem;font-weight:600;color:var(--text, #1a202c);margin:0;line-height:1.3}.cal-popover-event-meta{font-size:.75rem;color:var(--text-muted, #64748b);margin-top:2px}.cal-popover-event-type-badge{display:inline-block;margin-left:6px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cal-popover-actions{display:flex;gap:.5rem;margin-top:.75rem}.cal-popover-actions .btn{font-size:.75rem;padding:.375rem .75rem}.cal-popover-empty{font-size:.8125rem;color:var(--text-muted, #64748b);margin:0;padding:.25rem .5rem .5rem}.cal-popover-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light, rgba(0, 0, 0, .06))}.cal-popover-visit-cta{width:100%;font-size:.875rem;padding:.5rem .75rem}.visit-cta-button{margin-top:1rem;width:100%}.visit-dialog-overlay{position:fixed;inset:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center;animation:cal-dialog-fade-in .15s ease-out}.visit-dialog{background:var(--surface-solid, #fff);border-radius:var(--radius-lg, 20px);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06));width:90%;max-width:480px;max-height:90vh;overflow-y:auto;padding:2rem;animation:cal-dialog-in .15s ease-out}.visit-dialog h2{font-size:1.25rem;font-weight:700;color:var(--text, #1a202c);margin:0 0 1.5rem}.visit-dialog .form-group{margin-bottom:1rem}.visit-dialog .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text, #1a202c);margin-bottom:.375rem}.visit-dialog .form-group input,.visit-dialog .form-group select,.visit-dialog .form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--border-light, rgba(0, 0, 0, .1));border-radius:var(--radius-md, 12px);font-size:.9375rem;background:var(--surface-solid, #fff);color:var(--text, #1a202c);outline:none}.visit-dialog .form-group input:focus,.visit-dialog .form-group select:focus,.visit-dialog .form-group textarea:focus{border-color:var(--cal-color-focus-ring);outline:3px solid var(--cal-color-focus-ring);outline-offset:2px}.visit-dialog .form-group input[aria-invalid=true],.visit-dialog .form-group select[aria-invalid=true],.visit-dialog .form-group textarea[aria-invalid=true]{border-color:var(--cal-color-today, #c5070d);outline-color:var(--cal-color-today, #c5070d)}.visit-dialog .form-error{color:var(--cal-color-today, #c5070d);font-size:.875rem;margin-top:.25rem}[data-theme=dark] .visit-dialog .form-group input,[data-theme=dark] .visit-dialog .form-group select,[data-theme=dark] .visit-dialog .form-group textarea{color-scheme:dark}.visit-dialog-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.visit-dialog-status{margin-top:.75rem;font-size:.875rem;text-align:center}.visit-dialog-status--success{color:var(--cal-color-webinar)}.visit-dialog-status--error{color:var(--cal-color-today)}@keyframes cal-popover-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes cal-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cal-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cal-popover,.visit-dialog-overlay,.visit-dialog{animation:none}}@media(max-width:480px){.cal-popover{position:fixed;inset:auto 0 0;transform:none;max-width:100%;border-radius:var(--radius-lg, 20px) var(--radius-lg, 20px) 0 0;max-height:60vh;overflow-y:auto}.cal-skeleton{min-height:280px}}.add-to-calendar{position:relative;margin-top:.5rem}.add-to-calendar-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:500;padding:.625rem 1rem}.add-to-calendar-trigger:focus-visible{outline:3px solid var(--cal-color-focus-ring);outline-offset:2px}.add-to-calendar-chevron{transition:transform .15s ease-out;margin-left:auto}.add-to-calendar-chevron--open{transform:rotate(180deg)}.add-to-calendar-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;list-style:none;margin:0;padding:.375rem 0;background:var(--surface-solid, #fff);border:1px solid var(--border-light, rgba(0, 0, 0, .06));border-radius:var(--radius-md, 12px);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06));animation:add-to-calendar-menu-in .12s ease-out}.add-to-calendar-menu-item{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--text, #1a202c);text-decoration:none;transition:background .1s ease-out}.add-to-calendar-menu-item:hover,.add-to-calendar-menu-item:focus-visible{background:var(--bg-alt, rgba(0, 0, 0, .03));outline:none}.add-to-calendar-menu-item:focus-visible{outline:3px solid var(--cal-color-focus-ring);outline-offset:-3px}.add-to-calendar-menu-item svg{flex-shrink:0;color:var(--text-muted, #64748b)}@keyframes add-to-calendar-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.add-to-calendar-menu,.add-to-calendar-chevron{animation:none;transition:none}}.hero-calendar-slot .rdp-nav{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.hero-calendar-slot .rdp-button_previous,.hero-calendar-slot .rdp-button_next{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--surface-solid, #fff);border:1px solid var(--border-light, rgba(0, 0, 0, .06));border-radius:6px;color:var(--text, #1a202c);cursor:pointer;transition:background-color .15s ease}.hero-calendar-slot .rdp-button_previous:hover,.hero-calendar-slot .rdp-button_next:hover{background:var(--bg-alt, rgba(0, 0, 0, .03))}.hero-calendar-slot .rdp-button_previous:focus-visible,.hero-calendar-slot .rdp-button_next:focus-visible{outline:3px solid var(--cal-color-focus-ring);outline-offset:2px}.hero-calendar-slot .rdp-button_previous svg,.hero-calendar-slot .rdp-button_next svg{width:16px;height:16px;fill:currentColor}
