:root{--color-bg:#060a12;--color-surface:#0b1220;--color-surface-raised:#121b2e;--color-border:#22304a;--color-text-primary:#f7f8fa;--color-text-secondary:#b4bdcc;--color-text-tertiary:#7c869a;--color-accent:#ea580c;--color-accent-hover:#c2410c;--color-teal:#0d9488;--color-danger:#ef4444;--radius-card:20px;--radius-control:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=light]{--color-bg:#f7f8fa;--color-surface:#fff;--color-surface-raised:#fff;--color-border:#e3e6eb;--color-text-primary:#0b1220;--color-text-secondary:#4a5468;--color-text-tertiary:#7c869a}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;transition:background-color .15s,color .15s}body{min-height:100dvh;overflow-x:hidden}a{color:inherit}button{font-family:inherit}.page{min-height:100dvh;padding:24px 16px calc(24px + var(--safe-bottom));flex-direction:column;justify-content:center;align-items:center;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;max-width:480px;padding:28px 24px;box-shadow:0 24px 60px -20px #0009}.brand{align-items:center;gap:8px;margin-bottom:18px;display:flex}.brand img{width:auto;height:20px;display:block}.brand img.brand-logo{height:22px}:root[data-theme=light] .brand-logo{filter:invert()}.brand-name{letter-spacing:.02em;color:var(--color-text-tertiary);text-transform:uppercase;font-size:13px;font-weight:600}.event-title{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.3}.contact-page-wrap{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:940px;display:flex}.contact-header-card{text-align:center;max-width:480px}.contact-header-card .brand{justify-content:center}.appointments-grid{grid-template-columns:1fr;justify-content:center;gap:20px;width:100%;display:grid}@media (min-width:760px){.appointments-grid{grid-template-columns:repeat(2,minmax(0,460px))}.appointments-grid:has(>.appointment-card:only-child){grid-template-columns:minmax(0,460px)}}.appointment-card{max-width:none}.appointment-title{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3}.confirmed-tag{color:var(--color-teal);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:inline-flex}.event-meta{color:var(--color-text-secondary);align-items:flex-start;gap:10px;margin-bottom:20px;font-size:15px;line-height:1.5;display:flex}.event-meta svg{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px}.event-description{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:8px;font-size:15px;line-height:1.6}.read-more-btn{color:var(--color-accent-hover);cursor:pointer;background:0 0;border:none;padding:4px 0 20px;font-size:14px;font-weight:600}.read-more-btn:hover{text-decoration:underline}.cancelled-badge{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:999px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.add-to-calendar-wrap{margin-top:4px;position:relative}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius-control);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:15px 20px;font-size:16px;font-weight:600;transition:background-color .15s;display:flex}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:2px}.divider{border:none;border-top:1px solid var(--color-border);margin:24px 0 18px}.location-row{color:var(--color-text-secondary);align-items:flex-start;gap:10px;padding:16px 0 6px;font-size:14px;line-height:1.5;display:flex}.meeting-row+.location-row{padding-top:6px}.location-row svg{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px}.meeting-row{color:var(--color-text-primary);align-items:center;gap:10px;padding:16px 0 6px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.meeting-row:hover{color:var(--color-accent-hover)}.meeting-row svg{flex-shrink:0}.person-row{color:var(--color-text-secondary);align-items:flex-start;gap:10px;padding:6px 0;font-size:14px;line-height:1.6;display:flex}.person-row svg{color:var(--color-text-tertiary);flex-shrink:0;margin-top:3px}.person-lines{flex-direction:column;gap:2px;display:flex}.footer-note{text-align:center;width:100%;max-width:480px;color:var(--color-text-tertiary);margin:16px auto 0;padding:0 8px;font-size:13px}.link-accent{color:var(--color-accent-hover);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.link-accent:hover{text-decoration:underline}.menu-backdrop{z-index:40;background:#00000080;animation:.15s fade-in;position:fixed;inset:0}.provider-menu{z-index:50;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;max-width:320px;padding:8px;box-shadow:0 24px 60px -16px #000000b3}.provider-menu[data-placement=popover]{margin:0 auto;animation:.15s pop-in;position:absolute;top:calc(100% + 10px);left:0;right:0}.provider-menu[data-placement=sheet]{max-width:none;padding:10px 12px calc(16px + var(--safe-bottom));border-radius:20px 20px 0 0;animation:.2s slide-up;position:fixed;bottom:0;left:0;right:0}.provider-menu-handle{background:var(--color-border);border-radius:999px;width:36px;height:4px;margin:4px auto 12px}.provider-item{width:100%;color:var(--color-text-primary);border-radius:var(--radius-control);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.provider-item:hover,.provider-item:focus-visible{background:#ffffff0f;outline:none}.provider-badge{border:1px solid #0000001a;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.provider-badge[data-provider=google],.provider-badge[data-provider=office365],.provider-badge[data-provider=outlookcom]{border-color:#00000014}.provider-online-tag{color:var(--color-text-tertiary);margin-left:auto;font-size:12px;font-weight:400}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.status-page{text-align:center}.status-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin:0 auto 16px}.status-title{margin:0 0 8px;font-size:18px;font-weight:600}.status-body{color:var(--color-text-secondary);margin:0;font-size:15px}@media (max-width:380px){.card{padding:22px 18px}.event-title{font-size:21px}}.theme-toggle{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-primary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 8px 20px -8px #0006}.theme-toggle:hover{color:var(--color-accent)}
