:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--crm-blue:#378add;--crm-indigo:#533ab7;--crm-violet:#7f77dd;--crm-soft:#b5d4f4;--crm-bg:#0f172a;--crm-bg2:#020617;--crm-surface:#1e293b;--crm-surface2:#243044;--crm-border:#334155;--crm-text:#e2e8f0;--crm-text-strong:#f8fafc;--crm-muted:#94a3b8;--crm-link:#93c5fd;--crm-accent:#5a9fe0;--crm-grad:linear-gradient(135deg, #378add, #533ab7);--crm-nebula:radial-gradient(ellipse 90% 70% at 12% 8%, #7c4ee673, transparent 55%), radial-gradient(ellipse 70% 55% at 88% 18%, #378add59, transparent 50%), radial-gradient(ellipse 60% 50% at 50% 100%, #533ab766, transparent 55%), linear-gradient(165deg, #060a1c 0%, #10163a 35%, #1b1448 65%, #070b1f 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}html{overscroll-behavior-x:none}body{color:var(--crm-text);background:var(--crm-bg);background-image:var(--crm-nebula);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--crm-link);text-decoration:none}a:hover{color:#bfdbfe;text-decoration:underline}input,select,textarea,button{font-family:inherit;font-size:inherit}input,select,textarea{background:var(--crm-bg2);color:var(--crm-text);border-color:var(--crm-border)}input::placeholder,textarea::placeholder{color:var(--crm-muted)}input[type=search]{appearance:none}input[type=search]::-webkit-search-decoration{appearance:none}input[type=search]::-webkit-search-cancel-button{appearance:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#64748b}.crm-card{background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:12px;box-shadow:0 8px 24px #02061759}.crm-btn-primary{background:var(--crm-grad);color:#f8fafc;cursor:pointer;border:1px solid #5a9fe0;border-radius:8px;font-weight:600}.crm-btn-primary:hover{filter:brightness(1.08)}.signin-demo{margin-top:1.35rem}.signin-demo-or{color:#64748b;letter-spacing:.14em;align-items:center;gap:12px;margin:0 4px 14px;font-size:11px;font-weight:700;display:flex}.signin-demo-or:before,.signin-demo-or:after{content:"";background:linear-gradient(90deg,#0000,#94a3b847,#0000);flex:1;height:1px}.signin-demo-actions{flex-flow:row;align-items:stretch;gap:12px;display:flex}.signin-demo-btn{color:#f8fafc;text-align:left;cursor:pointer;background:#070b18;border-radius:999px;flex:1 1 0;align-items:center;gap:10px;width:auto;min-width:0;min-height:64px;margin:0;padding:10px 12px 10px 14px;font-size:13px;font-weight:600;line-height:1.2;display:flex}.signin-demo-btn--user{border:1px solid #67e8f98c;box-shadow:0 0 0 1px #22d3ee1f,0 0 18px #22d3ee2e}.signin-demo-btn--admin{border:1px solid #fbbf2480;box-shadow:0 0 0 1px #f59e0b1f,0 0 18px #f59e0b29}.signin-demo-icon{flex-shrink:0}.signin-demo-btn--user .signin-demo-icon,.signin-demo-btn--user .signin-demo-chevron{color:#67e8f9}.signin-demo-btn--admin .signin-demo-icon,.signin-demo-btn--admin .signin-demo-chevron{color:#fbbf24}.signin-demo-label{flex:1;min-width:0}.signin-demo-chevron{opacity:.85;flex-shrink:0}.signin-demo-btn br{display:block}.signin-demo-btn:hover:not(:disabled){background:#0b1224}.signin-demo-btn--user:hover:not(:disabled){border-color:#a5f3fcbf;box-shadow:0 0 0 1px #22d3ee33,0 0 22px #22d3ee47}.signin-demo-btn--admin:hover:not(:disabled){border-color:#fcd34db3;box-shadow:0 0 0 1px #f59e0b33,0 0 22px #f59e0b42}.signin-demo-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=520px){.signin-demo-actions{flex-direction:column}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.captain-brand-logo{-webkit-user-select:none;user-select:none;background:0 0;flex-shrink:0;align-items:center;gap:.4rem;margin-left:1ch;line-height:0;display:inline-flex}.captain-brand-logo__bust{object-fit:contain;object-position:center center;pointer-events:none;background:0 0;flex-shrink:0;width:auto;height:3.45rem;display:block}.captain-brand-logo__text{background:0 0;flex-direction:column;justify-content:center;gap:.18rem;min-width:0;display:flex}.captain-brand-logo__wordmark{letter-spacing:-.03em;text-transform:none;align-items:baseline;font-family:Segoe UI,Arial Black,system-ui,sans-serif;font-size:1.863rem;font-weight:900;line-height:1;display:inline-flex}.captain-brand-logo__silver{color:#8a9bb5}.captain-brand-logo__ai{background:linear-gradient(90deg,#5eaeff 0%,#a855f7 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.captain-brand-logo__tagline{letter-spacing:.2em;color:#cbd5e1;text-transform:uppercase;white-space:nowrap;font-family:Segoe UI,Arial,system-ui,sans-serif;font-size:.718rem;font-weight:400;line-height:1}.captain-brand-logo--sm{gap:.3rem}.captain-brand-logo--sm .captain-brand-logo__bust{height:2.35rem}.captain-brand-logo--sm .captain-brand-logo__wordmark{font-size:1.2rem}.captain-brand-logo--sm .captain-brand-logo__tagline{letter-spacing:.14em;font-size:.48rem}.captain-brand-logo--lg{gap:.55rem}.captain-brand-logo--lg .captain-brand-logo__bust{height:4.83rem}.captain-brand-logo--lg .captain-brand-logo__wordmark{font-size:2.76rem}.captain-brand-logo--lg .captain-brand-logo__tagline{letter-spacing:.26em;color:#cbd5e1;font-size:.966rem}.captain-brand-logo--header{gap:.35rem}.captain-brand-logo--header .captain-brand-logo__bust{height:3.588rem}.captain-brand-logo--header .captain-brand-logo__wordmark{font-size:1.656rem}.captain-brand-logo--header .captain-brand-logo__tagline{letter-spacing:.18em;font-size:.635rem}.org-logo-mark{box-sizing:border-box;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.org-logo-mark img{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:100%;display:block}.org-logo-mark.is-initials{color:#94a3b8;letter-spacing:.02em;background:#0f172ae6;border:1px solid #94a3b847;font-weight:700}.org-logo-mark--header{max-width:11rem;height:2.4rem}@media (width<=768px){.org-logo-mark--header{max-width:3.75rem;height:1.55rem}}.org-logo-mark--menu{max-width:7.5rem;height:1.9rem}.org-logo-mark--list{max-width:12.5rem;height:3.5rem}.org-logo-mark--list.is-initials,.org-logo-mark--menu.is-initials{border-radius:8px;width:3.5rem;max-width:3.5rem;font-size:.9rem}.org-logo-mark--menu.is-initials{border-radius:6px;width:1.9rem;max-width:1.9rem;height:1.9rem;font-size:.68rem}.companies-dir{color:#e2e8f0;background:0 0;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.companies-dir-toolbar{flex-direction:column;flex-shrink:0;gap:10px;padding:12px 12px 8px;display:flex}.companies-dir-search{background:#0b1220;border:1px solid #1e293b;border-radius:999px;align-items:center;gap:10px;height:42px;padding:0 14px;display:flex}.companies-dir-search input{color:#e2e8f0;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.companies-dir-search input::placeholder{color:#64748b}.companies-dir-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.companies-dir-mode{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:8px 4px;font-family:inherit;display:flex}.companies-dir-mode span{font-size:11px;font-weight:600;line-height:1.1}.companies-dir-mode.is-active{color:#fff;background:#6d5efc;box-shadow:0 8px 18px #6d5efc59}.companies-dir-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.companies-dir-ctrl{min-width:0;position:relative}.companies-dir-ctrl:last-child .companies-dir-menu{left:auto;right:0}.companies-dir-ctrl-btn{color:#cbd5e1;cursor:pointer;background:#0b1220;border:1px solid #1e293b;border-radius:10px;align-items:center;gap:4px;width:100%;min-width:0;min-height:38px;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.companies-dir-ctrl-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.companies-dir-ctrl-btn svg:last-child{flex-shrink:0;margin-left:auto}.companies-dir-badge{color:#fff;text-align:center;background:#6d5efc;border-radius:999px;flex-shrink:0;min-width:18px;height:18px;padding:0 5px;font-size:10px;line-height:18px}.companies-dir-menu{z-index:40;background:#0f172a;border:1px solid #334155;border-radius:10px;min-width:180px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #02061780}.companies-dir-menu button{color:#e2e8f0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:9px 10px;font-family:inherit;font-size:13px;display:block}.companies-dir-menu button.is-active,.companies-dir-menu button:hover{background:#243044}.companies-dir-menu-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:8px 8px 4px;font-size:10px;font-weight:700}.companies-dir-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.companies-dir-chip{color:#e2e8f0;background:0 0;border:1px solid #6d5efc;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.companies-dir-chip button{color:#a5b4fc;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex}.companies-dir-clear{color:#a5b4fc;cursor:pointer;background:0 0;border:none;padding:4px 2px;font-family:inherit;font-size:12px;font-weight:700}.companies-dir-pager{color:#c4b5fd;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 4px;font-size:12px;display:flex}.companies-dir-pager-btns{gap:4px;display:flex}.companies-dir-pager-btns button{color:#e0e7ff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.companies-dir-pager-btns button:disabled{color:#475569;cursor:default}.companies-dir-list{flex:1;min-height:0;padding:0 8px 16px;overflow:auto}.companies-dir-row{color:#f8fafc;text-align:left;cursor:pointer;background:linear-gradient(135deg,#6d5efc 0%,#5b4fc7 42%,#378add 100%);border:1px solid #bfdbfe47;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:10px 8px;font-family:inherit;display:flex}.companies-dir-row:hover{background:linear-gradient(135deg,#7c6eff 0%,#6d5efc 40%,#4f7ee8 100%)}.companies-dir.is-list-mode .companies-dir-row{color:#f8fafc;background:linear-gradient(135deg,#6d5efc 0%,#5b4fc7 42%,#378add 100%);border:1px solid #bfdbfe47;margin-bottom:6px;padding:10px 12px}.companies-dir.is-list-mode .companies-dir-row:hover{background:linear-gradient(135deg,#7c6eff 0%,#6d5efc 40%,#4f7ee8 100%)}.companies-dir.is-list-mode .companies-dir-name{color:#f8fafc}.companies-dir.is-list-mode .companies-dir-sub{color:#c7d2fe}.companies-dir.is-list-mode .companies-dir-loc{color:#bfdbfe}.companies-dir.is-list-mode .companies-dir-chevron{color:#e0e7ff}.companies-dir.is-list-mode .companies-dir-icon{color:#e0e7ff;background:#ffffff29}.companies-dir-row.is-compact{gap:10px;padding:7px 8px}.companies-dir-icon{color:#e0e7ff;background:#ffffff29;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.companies-dir-row.is-compact .companies-dir-icon{border-radius:8px;width:30px;height:30px}.companies-dir-main{flex:160px;min-width:0}.companies-dir-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.companies-dir-sub{color:#c7d2fe;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.companies-dir-loc{color:#bfdbfe;flex:0 160px;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.companies-dir-loc span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.companies-dir-status{border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.companies-dir-status-dot{border-radius:50%;width:7px;height:7px}.companies-dir-status.is-active{color:#6ee7b7;background:#10b98124;box-shadow:0 0 14px #10b98147}.companies-dir-status.is-active .companies-dir-status-dot{background:#34d399;box-shadow:0 0 8px #34d399}.companies-dir-status.is-inactive{color:#94a3b8;background:#94a3b81a}.companies-dir-status.is-inactive .companies-dir-status-dot{background:#64748b}.companies-dir-status.is-other{color:#fbbf24;background:#f59e0b1f}.companies-dir-status.is-other .companies-dir-status-dot{background:#f59e0b}.companies-dir-chevron{color:#e0e7ff;flex-shrink:0}.companies-dir-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:4px 4px 16px;display:grid}.companies-dir-card{color:#f8fafc;text-align:left;cursor:pointer;background:linear-gradient(135deg,#6d5efc 0%,#5b4fc7 42%,#378add 100%);border:1px solid #bfdbfe47;border-radius:14px;flex-direction:column;gap:10px;padding:14px;font-family:inherit;display:flex}.companies-dir-card:hover{background:linear-gradient(135deg,#7c6eff 0%,#6d5efc 40%,#4f7ee8 100%)}.companies-dir-card .companies-dir-name{color:#f8fafc}.companies-dir-card .companies-dir-sub{color:#c7d2fe}.companies-dir-card-top{align-items:flex-start;gap:10px;display:flex}.companies-dir-empty{text-align:center;color:#64748b;padding:48px 16px;font-size:15px}@media (width<=640px){.companies-dir-loc-col{display:none}.companies-dir-ctrl-btn{gap:3px;padding:6px;font-size:11px}}@media (width>=769px){.companies-dir-toolbar{padding:16px 20px 10px}.companies-dir-list{padding:0 12px 20px}}.brainwave-crm-header-logo{flex-shrink:0;align-items:center;line-height:0;display:flex}.brainwave-split-pane-header{background:#0f172a;border-bottom:1px solid #94a3b833;flex-shrink:0;justify-content:center;align-items:center;padding:12px 16px;display:flex}.brainwave-split-pane-header .brainwave-crm-header-logo .login-page__brand-svg{height:1.85rem}.brainwave-crm-header-logo .login-page__brand-svg{width:auto;max-width:9.5rem;height:1.65rem;display:block}.brainwave-crm-header-logo .login-page-logo__outer{transform-origin:50px 50px;animation:20s linear infinite brainwave-crm-logo-spin}@media (prefers-reduced-motion:reduce){.brainwave-crm-header-logo .login-page-logo__outer{animation:none}}@keyframes brainwave-crm-logo-spin{to{transform:rotate(360deg)}}.schedule-portal{--sp-bg:#f4f5f7;--sp-surface:#fff;--sp-border:#e8eaed;--sp-text:#1a1d21;--sp-muted:#6b7280;--sp-purple:#7c3aed;--sp-purple-soft:#f3e8ff;--sp-purple-border:#ddd6fe;--sp-green:#059669;--sp-green-soft:#ecfdf5;--sp-green-border:#a7f3d0;--sp-blue-soft:#eff6ff;--sp-blue-border:#bfdbfe;--sp-radius:14px;--sp-shadow:0 1px 3px #0000000f, 0 4px 12px #0000000a;background:var(--sp-bg);box-sizing:border-box;max-width:1100px;min-height:100vh;color:var(--sp-text);margin:0 auto;padding:20px 16px 40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.schedule-portal__sticky-header{z-index:40;background:var(--sp-bg);border-bottom:1px solid var(--sp-border);margin:-20px -16px 16px;padding:20px 16px 12px;position:sticky;top:0;box-shadow:0 2px 8px #0000000a}.schedule-portal__header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;display:flex}.schedule-portal__header-top{align-items:center;gap:10px;display:flex}.schedule-portal__header-top h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.schedule-portal__count{background:var(--sp-purple);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.schedule-portal__sign-out{font-family:inherit;box-shadow:none!important;color:#6b7280!important;background:0 0!important;border:none!important;padding:8px 10px!important;font-size:13px!important;font-weight:600!important}.schedule-portal--loading{justify-content:center;align-items:center;display:flex}.schedule-portal__header-nav{align-items:center;gap:6px;display:flex}.schedule-portal__header-nav button{background:var(--sp-surface);border:1px solid var(--sp-border);cursor:pointer;color:#4b5563;box-shadow:var(--sp-shadow);border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.schedule-portal__header-nav button:hover{background:#fafafa;border-color:#d1d5db}.schedule-portal__today{font-family:inherit;padding:8px 14px!important;font-size:13px!important;font-weight:600!important}.schedule-portal__period{color:var(--sp-text);margin-left:6px;font-size:15px;font-weight:600}.schedule-portal__video-note{color:#374151;background:var(--sp-blue-soft);border:1px solid var(--sp-blue-border);border-radius:var(--sp-radius);align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.45;display:flex}.schedule-portal__video-note svg{color:#2563eb;flex-shrink:0}.schedule-portal__error{color:#b91c1c;border-radius:var(--sp-radius);background:#fef2f2;border:1px solid #fecaca;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.schedule-portal__error-retry{margin-left:auto}.schedule-portal__confirmed{border:1px solid var(--sp-green-border);text-align:center;box-shadow:var(--sp-shadow);background:linear-gradient(#ecfdf5 0%,#f0fdf4 100%);border-radius:18px;margin-bottom:24px;padding:28px 24px 20px}.schedule-portal__confirmed-icon{justify-content:center;margin-bottom:8px;display:flex}.schedule-portal__confirmed h2{color:var(--sp-green);margin:0 0 16px;font-size:1.25rem;font-weight:700}.schedule-portal__confirmed-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);text-align:center;max-width:420px;box-shadow:var(--sp-shadow);margin:0 auto 16px;padding:16px 20px}.schedule-portal__confirmed-card strong{margin-bottom:6px;font-size:15px;display:block}.schedule-portal__confirmed-card span{color:var(--sp-muted);font-size:14px;line-height:1.5;display:block}.schedule-portal__type-badge{background:var(--sp-green-soft);color:var(--sp-green);border:1px solid var(--sp-green-border);border-radius:999px;align-items:center;gap:5px;margin-top:10px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.schedule-portal__type-badge--virtual{background:var(--sp-blue-soft);color:#1d4ed8;border-color:var(--sp-blue-border)}.schedule-portal__calendar-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 16px;display:flex}.schedule-portal__calendar-actions--left{justify-content:flex-start}.schedule-portal__btn-outline{border:1px solid var(--sp-border);background:var(--sp-surface);color:var(--sp-text);cursor:pointer;box-shadow:var(--sp-shadow);border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.schedule-portal__btn-outline:hover{background:#fafafa;border-color:#d1d5db}.schedule-portal__confirmed-footer{border-top:1px solid #a7f3d099;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:16px;display:flex}.schedule-portal__email-status{text-align:left;font-size:13px;line-height:1.4}.schedule-portal__email-status--ok{color:#166534}.schedule-portal__email-status--bad{color:#9a3412}.schedule-portal__btn-ghost{border:1px solid var(--sp-border);background:var(--sp-surface);cursor:pointer;color:var(--sp-text);border-radius:10px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.schedule-portal__layout{align-items:flex-start;gap:20px;display:flex}.schedule-portal__sidebar{flex-direction:column;flex-shrink:0;gap:16px;width:280px;display:flex}.schedule-portal__sidebar-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);padding:18px}.schedule-portal__sidebar-title{margin:0 0 4px;font-size:15px;font-weight:700}.schedule-portal__sidebar-email{color:var(--sp-muted);word-break:break-all;margin:0 0 14px;font-size:12px}.schedule-portal__sidebar-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:12px}.schedule-portal__meeting-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-portal__meeting-item{text-align:left;border:1px solid var(--sp-border);cursor:pointer;background:#fafafa;border-radius:12px;flex-direction:column;gap:3px;width:100%;padding:12px 14px;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.schedule-portal__meeting-item:hover{background:var(--sp-purple-soft);border-color:var(--sp-purple-border)}.schedule-portal__meeting-item--active{background:var(--sp-purple-soft);border-color:var(--sp-purple);box-shadow:0 0 0 1px var(--sp-purple)}.schedule-portal__meeting-item-title{font-size:13px;font-weight:600}.schedule-portal__meeting-item-date,.schedule-portal__meeting-item-time{color:var(--sp-muted);font-size:12px}.schedule-portal__legend-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);padding:14px 18px}.schedule-portal__legend-title{letter-spacing:.06em;color:var(--sp-muted);text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.schedule-portal__legend{color:#4b5563;flex-direction:column;gap:8px;font-size:12px;display:flex}.schedule-portal__legend span{align-items:center;gap:8px;display:flex}.schedule-portal__swatch{border:1px solid var(--sp-border);border-radius:5px;flex-shrink:0;width:16px;height:16px}.schedule-portal__swatch--open{background:#f0fdf4;border-color:#bbf7d0}.schedule-portal__swatch--booked{background:#fef2f2;border-color:#fecaca}.schedule-portal__swatch--dot{background:var(--sp-purple-soft);border-color:var(--sp-purple-border)}.schedule-portal__swatch--today{background:var(--sp-purple);border-color:var(--sp-purple)}.schedule-portal__main{flex:1;min-width:0}.schedule-portal__calendar{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);overflow:hidden}.schedule-portal__calendar--loading{opacity:.55;pointer-events:none}.schedule-portal__weekdays{border-bottom:1px solid var(--sp-border);background:#fafafa;grid-template-columns:repeat(7,1fr);display:grid}.schedule-portal__weekdays div{text-align:center;letter-spacing:.05em;color:var(--sp-muted);text-transform:uppercase;padding:12px 4px;font-size:10px;font-weight:700}.schedule-portal__grid{grid-template-columns:repeat(7,1fr);display:grid}.schedule-portal__day{background:var(--sp-surface);cursor:default;border:1px solid #f3f4f6;border-top:none;border-left:none;flex-direction:column;align-items:center;min-height:72px;padding:8px 6px 10px;font-family:inherit;transition:background .12s;display:flex;position:relative}.schedule-portal__day--open{cursor:pointer}.schedule-portal__day--open:hover{background:#f0fdf4}.schedule-portal__day--muted{opacity:.4}.schedule-portal__day--past{background:#fafafa}.schedule-portal__day--booked{background:#fefefe}.schedule-portal__day--has-meetings{background:#faf5ff}.schedule-portal__day--has-meetings .schedule-portal__day-num{color:var(--sp-purple);font-weight:600}.schedule-portal__day-num{color:var(--sp-text);margin-bottom:auto;font-size:15px;font-weight:500;line-height:1}.schedule-portal__day--today .schedule-portal__day-num{background:var(--sp-purple);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.schedule-portal__day-open-badge{color:#059669;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:6px;margin-top:6px;padding:2px 6px;font-size:10px;font-weight:600}.schedule-portal__day-dot{background:var(--sp-purple);border-radius:50%;width:6px;height:6px;margin-top:6px}.schedule-portal__day-label{color:#ef4444;text-transform:uppercase;margin-top:6px;font-size:9px;font-weight:700}.schedule-portal__sheet-backdrop{z-index:100;background:#0f172a66;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (width>=768px){.schedule-portal__sheet-backdrop{align-items:center}}.schedule-portal__booking-panel{background:var(--sp-surface);border-radius:18px;flex-direction:column;width:100%;max-width:920px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #0000002e}.schedule-portal__panel-close{z-index:2;cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;padding:8px;display:flex;position:absolute;top:12px;right:12px}@media (width>=768px){.schedule-portal__booking-panel{flex-direction:row;max-height:85vh}.schedule-portal__booking-slots{border-bottom:none;border-right:1px solid var(--sp-border);flex-shrink:0;max-width:380px}}.schedule-portal__booking-slots{border-bottom:1px solid var(--sp-border);-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;padding:22px 20px;overflow-y:auto}@media (width>=768px){.schedule-portal__booking-slots{border-bottom:none;border-right:1px solid var(--sp-border);max-width:380px}}.schedule-portal__booking-form-wrap{flex-direction:column;flex:1.1;min-width:0;min-height:0;display:flex;overflow:hidden}.schedule-portal__booking-slots h3,.schedule-portal__form-body h3{margin:0 0 4px;font-size:1.125rem;font-weight:700}.schedule-portal__booking-sub{color:var(--sp-muted);margin:0 0 18px;font-size:13px}.schedule-portal__slot-section{margin-bottom:18px}.schedule-portal__slot-section-label{letter-spacing:.06em;color:var(--sp-muted);text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.schedule-portal__slots{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=400px){.schedule-portal__slots{grid-template-columns:repeat(2,1fr)}}.schedule-portal__slot{border:1px solid var(--sp-border);color:var(--sp-text);cursor:pointer;text-align:center;background:#fafafa;border-radius:12px;padding:12px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.schedule-portal__slot:hover{border-color:var(--sp-purple-border);background:var(--sp-purple-soft)}.schedule-portal__slot--selected{background:var(--sp-purple);color:#fff;border-color:var(--sp-purple)}.schedule-portal__slot-duration{color:var(--sp-muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.schedule-portal__slot--selected .schedule-portal__slot-duration{color:#fffc}.schedule-portal__close-bar{border-top:1px solid var(--sp-border);background:#fafafa;padding:12px 20px}.schedule-portal__btn-close-full{border:1px solid var(--sp-border);background:var(--sp-surface);cursor:pointer;width:100%;color:var(--sp-muted);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.schedule-portal__form{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.schedule-portal__form-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:22px 20px 12px;display:flex;overflow-y:auto}.schedule-portal__form-footer{border-top:1px solid var(--sp-border);background:var(--sp-surface);z-index:1;flex-shrink:0;padding:12px 20px 20px;position:sticky;bottom:0}.schedule-portal__form-footer .schedule-portal__btn-primary{width:100%}.schedule-portal__form-sub{color:var(--sp-muted);margin:0 0 14px;font-size:13px}.schedule-portal__slot-summary{color:#1d4ed8;background:var(--sp-blue-soft);border:1px solid var(--sp-blue-border);border-radius:12px;align-items:center;gap:8px;margin:0 0 4px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.schedule-portal__slot-summary--muted{color:var(--sp-muted);border-color:var(--sp-border);background:#f9fafb;font-weight:500}.schedule-portal__field-label{color:#374151;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.schedule-portal__password-note{color:#374151;margin:12px 0 0;font-size:13px}.schedule-portal__form label{color:#374151;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.schedule-portal__form label span.optional{color:var(--sp-muted);font-weight:400}.schedule-portal__form input,.schedule-portal__form select,.schedule-portal__form textarea{border:1px solid var(--sp-border);background:var(--sp-surface);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.schedule-portal__form input:focus,.schedule-portal__form textarea:focus{border-color:var(--sp-purple);outline:none;box-shadow:0 0 0 3px #7c3aed26}.schedule-portal__form-row{gap:12px;min-width:0;display:grid}.schedule-portal__form-row--2{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.schedule-portal__form-row label{min-width:0}.schedule-portal__form input.schedule-portal__input--compact{padding-left:7px;padding-right:7px}.schedule-portal__type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.schedule-portal__type-btn{border:1px solid var(--sp-border);text-align:center;cursor:pointer;min-height:56px;color:var(--sp-text);background:#fafafa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px 4px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s;display:flex}.schedule-portal__type-btn:hover{border-color:var(--sp-purple-border)}.schedule-portal__type-btn--active{background:var(--sp-purple-soft);border-color:var(--sp-purple);color:var(--sp-purple)}.schedule-portal__virtual-hint{color:var(--sp-muted);margin:-4px 0 0;font-size:12px;line-height:1.45}.schedule-portal__form-actions{gap:10px;margin-top:6px;display:flex}.schedule-portal__form-actions--single .schedule-portal__btn-primary{flex:1;width:100%}.schedule-portal__btn-secondary{border:1px solid var(--sp-border);background:var(--sp-surface);cursor:pointer;color:var(--sp-text);border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600}.schedule-portal__btn-secondary:disabled{opacity:.5;cursor:not-allowed}.schedule-portal__btn-primary{background:var(--sp-purple);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1.4;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.schedule-portal__btn-primary:hover:not(:disabled){background:#6d28d9}.schedule-portal__btn-primary:disabled{opacity:.55;cursor:not-allowed}.schedule-portal__btn-primary--modal{flex:1.2}.schedule-portal__muted{color:var(--sp-muted);margin:0;font-size:14px}.schedule-portal__day-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:8px 0 12px;padding:12px;font-size:14px}.schedule-portal__modal-backdrop{z-index:200;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.schedule-portal__modal{background:var(--sp-surface);border-radius:18px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #0000002e}.schedule-portal__modal-header{border-bottom:1px solid var(--sp-border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.schedule-portal__modal-header h3{margin:0;font-size:1.125rem;font-weight:700}.schedule-portal__modal-close{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;padding:6px;display:flex}.schedule-portal__modal-body{padding:18px 22px}.schedule-portal__modal-body h4{margin:0 0 10px;font-size:14px;font-weight:700}.schedule-portal__modal-label{flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.schedule-portal__modal-label input{border:1px solid var(--sp-border);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:16px}.schedule-portal__modal-divider{border:none;border-top:1px solid var(--sp-border);margin:18px 0}.schedule-portal__modal-footer{border-top:1px solid var(--sp-border);background:#fafafa;border-radius:0 0 18px 18px;gap:10px;padding:16px 22px;display:flex}.schedule-portal__btn-danger{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.schedule-portal__btn-danger:disabled{opacity:.55;cursor:not-allowed}.schedule-portal__slots--modal{margin-bottom:12px}@media (width<=767px){.schedule-portal__sticky-header{padding:max(12px, env(safe-area-inset-top)) 16px 10px;margin:-20px -16px 12px}.schedule-portal__header-top h1{font-size:1.25rem}.schedule-portal__period,.schedule-portal__video-note,.schedule-portal__legend-card{display:none}.schedule-portal__layout{flex-direction:column}.schedule-portal__main{order:1}.schedule-portal__sidebar{order:2;width:100%}.schedule-portal__sidebar:not(:has(.schedule-portal__sidebar-card)){display:none}.schedule-portal__sheet-backdrop{align-items:flex-end;padding:0}.schedule-portal__booking-panel{border-radius:18px 18px 0 0;flex-direction:column;height:96dvh;max-height:96dvh;display:flex;overflow:hidden}.schedule-portal__booking-panel--times .schedule-portal__booking-form-wrap{display:none}.schedule-portal__booking-panel--times .schedule-portal__booking-slots{flex:auto;min-height:0;max-height:none}.schedule-portal__booking-panel--form .schedule-portal__booking-slots{display:none}.schedule-portal__booking-panel--form .schedule-portal__booking-form-wrap{min-height:0;padding-bottom:calc(72px + env(safe-area-inset-bottom));flex:1 1 0;overflow:hidden}.schedule-portal__back-to-times{color:var(--sp-purple);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0 0 12px;padding:0;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.schedule-portal__form{height:100%;min-height:0}.schedule-portal__form-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:8px;overflow-y:auto}.schedule-portal__sheet-backdrop .schedule-portal__form-footer{z-index:102;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--sp-border);background:var(--sp-surface);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0000001a}.schedule-portal__booking-panel--times .schedule-portal__back-to-times{display:none}}@media (width>=768px){.schedule-portal__back-to-times{display:none}}
