:root{--sand-1: #F5F0E8;--sand-2: #EDE6D6;--sand-3: #E0D5C0;--sand-4: #D4C8AE;--crimson-1: #8B1A2E;--crimson-2: #A82040;--crimson-3: #C4385A;--burgundy: #6B0F1F;--warm-dark: #2C1810;--warm-mid: #6B4C3B;--warm-light: #9E7B68;--accent-gold: #C4943A;--accent-sage: #6B8C6E;--white: #ffffff;--shadow-base: 44, 24, 16;--shadow-card: 0 10px 40px rgba(var(--shadow-base), .08);--shadow-card-hover: 0 10px 40px rgba(var(--shadow-base), .12);--shadow-sm: 0 1px 2px rgba(var(--shadow-base), .05);--shadow-md: 0 4px 12px rgba(var(--shadow-base), .08);--font-display: "Merriweather", serif;--font-body: "Gabarito", sans-serif;--fw-light: 300;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--interaction-radius: 12px;--interaction-radius-sm: 8px;--premium-gradient: linear-gradient(180deg, #9C1D33 0%, #8B1A2E 100%);--focus-ring: 0 0 0 4px rgba(139, 26, 46, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--sand-1);color:var(--warm-dark);min-height:100%;height:auto;overflow-y:visible;overflow-x:hidden;-webkit-text-size-adjust:100%}#root{min-height:100%;width:100%}.app-container{min-height:100vh;width:100%;display:flex;flex-direction:column;background-color:var(--sand-1);position:relative}.primary-page,.visitor-page{min-height:100vh;background-color:var(--sand-1);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:40px 16px;font-family:var(--font-body);overflow-y:auto}.primary-card,.visitor-card{background:var(--white);border-radius:24px;box-shadow:var(--shadow-card);border:1px solid var(--sand-3);width:95%;max-width:600px;padding:32px;align-self:center;margin:20px auto 48px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--crimson-1);line-height:1.2}h1{font-size:28px;font-weight:var(--fw-black)}h2{font-size:24px;font-weight:var(--fw-bold)}h3{font-size:20px;font-weight:var(--fw-bold)}p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--warm-mid)}.brand-logo{width:var(--logo-size, 80px);height:auto;object-fit:contain;display:block;margin:0 auto 12px}.layout-header,.visitor-card-header{text-align:center;margin-bottom:32px;border-bottom:2px solid var(--sand-2);padding-bottom:20px}.layout-footer,.global-disclaimer-footer{text-align:center;padding:32px 24px;background-color:transparent;color:var(--warm-light);font-size:12px;line-height:1.6;width:100%;max-width:600px;align-self:center;margin:0 auto;font-style:italic;opacity:.8}.btn_primary,.btn_secondary,.btn_specialist{border-radius:var(--interaction-radius);transition:all .2s cubic-bezier(.4,0,.2,1);min-height:48px;padding:12px 24px;font-family:var(--font-body);font-size:14px;font-weight:var(--fw-semibold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;box-sizing:border-box;transform:none}.btn_primary:hover:not(:disabled),.btn_secondary:hover:not(:disabled),.btn_specialist:hover:not(:disabled){filter:brightness(1.1);transform:none}.btn_primary:active:not(:disabled),.btn_secondary:active:not(:disabled),.btn_specialist:active:not(:disabled){transform:scale(.98)}.btn_primary:disabled,.btn_secondary:disabled,.btn_specialist:disabled{background:var(--sand-3)!important;color:var(--white)!important;border-color:transparent!important;box-shadow:none!important;cursor:not-allowed;opacity:1;filter:none}.btn_primary{background:var(--premium-gradient);color:var(--white);border:1px solid var(--burgundy);font-weight:var(--fw-bold);text-shadow:0 1px 1px rgba(0,0,0,.15);box-shadow:0 2px 4px #8b1a2e33,inset 0 1px #ffffff26}.btn_primary:hover:not(:disabled){box-shadow:0 4px 12px #8b1a2e33}.btn_primary:active:not(:disabled){box-shadow:inset 0 2px 4px #0000001a}.btn_secondary{background:linear-gradient(180deg,var(--sand-2) 0%,var(--sand-3) 100%);color:var(--crimson-1);border:1px solid var(--sand-3);box-shadow:var(--shadow-sm)}.btn_specialist{background:var(--white);color:var(--warm-dark);border:1.5px solid var(--sand-3);box-shadow:var(--shadow-sm)}.btn_specialist:hover:not(:disabled){background:var(--sand-1);border-color:var(--crimson-1);color:var(--crimson-1)}.toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-row .input_primary,.toolbar-row .input_compact,.toolbar-row select,.toolbar-row input{margin-bottom:0!important}.toolbar-row:not(form) .input_primary,.toolbar-row:not(form) .input_compact,.toolbar-row:not(form) input{width:auto!important}.input_primary,.input_compact{width:100%;border:1.5px solid var(--sand-3);background:var(--sand-1);color:var(--warm-dark);font-family:var(--font-body);transition:border-color .2s,background-color .2s,box-shadow .2s;outline:none;display:block;box-sizing:border-box}.input_primary{min-height:48px;padding:12px 18px;border-radius:var(--interaction-radius);font-size:16px;margin-bottom:12px}.input_compact{min-height:36px;padding:7px 12px;border-radius:var(--interaction-radius-sm);font-size:14px;margin-bottom:12px}.input_primary:focus,.input_compact:focus{background:var(--white);border-color:var(--crimson-1);box-shadow:var(--focus-ring)}.input_primary:disabled,.input_compact:disabled{background:var(--sand-2);color:var(--warm-mid);opacity:.7;cursor:not-allowed;border-style:dashed}select.input_primary,select.input_compact{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:max-content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238B1A2E' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}select.input_compact{background-position:right 10px center;background-size:12px;padding-right:32px}textarea.input_primary{min-height:120px;resize:vertical;line-height:1.6}.input_white{background-color:var(--white)!important}.primary-input,.auth-input,.visitor-input{width:100%;padding:14px 18px;font-size:16px;font-family:var(--font-body);border:1.5px solid var(--sand-3);border-radius:var(--interaction-radius);background:var(--white);color:var(--warm-dark);outline:none;transition:all .2s ease;box-sizing:border-box}.primary-input:focus,.auth-input:focus,.visitor-input:focus{border-color:var(--crimson-1);box-shadow:var(--focus-ring)}.brand-badge,.badge{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--fw-extrabold);color:var(--warm-light);display:inline-block;margin-bottom:8px}@media (max-width: 768px){.layout-footer,.global-disclaimer-footer{display:none}}.layout-footer strong,.global-disclaimer-footer strong{color:var(--warm-mid);font-style:normal;text-transform:uppercase;letter-spacing:.05em}.cal-widget{background:var(--sand-1);border-radius:20px;padding:clamp(16px,4vw,32px);border:1.5px solid var(--sand-3);margin:24px auto;max-width:440px;width:100%;box-sizing:border-box}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cal-month-label{font-size:20px;font-weight:var(--fw-black);color:var(--warm-dark);font-family:var(--font-display);letter-spacing:.02em}.cal-nav-btn{background:var(--white);border:1.5px solid var(--sand-3);border-radius:12px;width:44px;height:44px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--warm-dark);transition:all .2s;box-shadow:var(--shadow-sm)}.cal-nav-btn:hover{background:var(--sand-1);border-color:var(--crimson-1);color:var(--crimson-1)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(4px,1.5vw,8px)}.cal-dow{text-align:center;font-size:13px;font-weight:var(--fw-extrabold);color:var(--warm-light);text-transform:uppercase;margin-bottom:12px}.cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.cal-day-btn{background:var(--white);border:1px solid var(--sand-3);border-radius:12px;cursor:pointer;font-size:16px;font-weight:var(--fw-bold);color:var(--warm-dark);transition:all .2s;width:100%;height:100%;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-sizing:border-box}.cal-day-btn.available{border-color:var(--crimson-1);color:var(--crimson-1);box-shadow:0 4px 12px #8b1a2e26}.cal-day-btn.selected{background:var(--crimson-1)!important;color:var(--white)!important;border-color:var(--crimson-1)!important;transform:scale(1.05)}.cal-day-btn:disabled{background:transparent;border-color:transparent;color:var(--sand-4);cursor:not-allowed;box-shadow:none}.cal-dot{width:6px;height:6px;background:var(--crimson-1);border-radius:50%;position:absolute;bottom:15%}.cal-day-btn.selected .cal-dot{background:var(--white)}@keyframes calSpin{to{transform:rotate(360deg)}}.cal-spinner{width:24px;height:24px;border:3px solid var(--sand-3);border-top-color:var(--crimson-1);border-radius:50%;animation:calSpin 1s linear infinite}.time-section{margin-top:24px;padding-top:32px;border-top:2px solid var(--sand-2);margin-bottom:24px}.time-day-heading{font-size:18px;font-weight:var(--fw-extrabold);color:var(--warm-dark);margin:0 0 20px;font-family:var(--font-display)}.time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.recording-banner{position:absolute;top:0;left:0;right:0;background:var(--burgundy);color:var(--sand-1);padding:10px 16px;text-align:center;z-index:1000;font-size:12px;font-weight:var(--fw-semibold);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 2px 8px rgba(var(--shadow-base),.2);line-height:1.3;letter-spacing:.02em}.recording-icon{width:10px;height:10px;background-color:var(--crimson-3);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.waiting-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,6vw,48px);text-align:center;overflow-y:auto;max-width:640px;margin:0 auto}.waiting-screen h2{font-family:var(--font-display);font-size:clamp(24px,5vw,32px);font-weight:var(--fw-bold);margin-bottom:8px;color:var(--crimson-1)}.waiting-screen .subtitle{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-light);font-size:16px;color:var(--warm-mid);margin-bottom:32px}.recording-notice{background:var(--sand-2);border:1.5px solid var(--sand-3);border-radius:12px;padding:clamp(20px,4vw,32px);width:100%;margin-bottom:32px;text-align:left}.recording-notice p{font-size:15px;line-height:1.7;color:var(--warm-mid);margin:0}.recording-notice strong{color:var(--crimson-1);display:block;margin-bottom:12px;font-size:16px}.recording-notice .phone-number{font-weight:var(--fw-bold);color:var(--crimson-1)}.auth-input{width:100%;padding:16px 20px;font-size:16px;font-family:var(--font-body);border:1.5px solid var(--sand-3);border-radius:8px;background:#fff;color:var(--warm-dark);margin-bottom:16px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--crimson-1)}.auth-input::placeholder{color:var(--warm-light)}.video-call-screen{flex:1;display:flex;flex-direction:column;position:relative;background-color:#000}.video-container{flex:1;display:flex;position:relative;overflow:hidden}.remote-video-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.remote-video-wrapper rtk-grid{width:100%;height:100%;display:block}.remote-video-wrapper.remote-video-hidden{visibility:hidden}.waiting-for-remote{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#ffffffb3;font-size:16px;z-index:10}.pip-self-wrapper{position:absolute;bottom:max(96px,calc(env(safe-area-inset-bottom) + 80px));left:20px;width:120px;height:90px;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #00000080;border:2px solid rgba(255,255,255,.25);z-index:100;background-color:#2a2a2a}.pip-self-wrapper rtk-participant-tile{width:100%;height:calc(100% + 32px);display:block}.participant-info{position:absolute;top:60px;left:20px;z-index:100;display:flex;flex-direction:column;gap:5px}.participant-name{background:#0009;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:var(--fw-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-toggle-wrapper{position:absolute;right:220px;bottom:max(24px,env(safe-area-inset-bottom));z-index:1200;-webkit-tap-highlight-color:transparent}.call-controls{position:absolute;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:16px;z-index:1200;-webkit-tap-highlight-color:transparent}.control-button{min-width:160px;height:56px;border-radius:14px;padding:0 24px;border:none;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-body);font-size:16px;font-weight:var(--fw-bold);min-height:44px}.end-call-button{background:var(--crimson-1);color:var(--sand-1);box-shadow:0 4px 12px #8b1a2e4d}.end-call-button:hover{background:var(--crimson-2);transform:translateY(-2px);box-shadow:0 6px 16px #8b1a2e66}.end-call-button:active{background:var(--burgundy);transform:translateY(0) scale(.98)}.end-call-button svg{width:24px;height:24px;flex-shrink:0}rtk-chat-toggle,rtk-polls-toggle,rtk-participants-toggle,rtk-plugins-toggle,rtk-fullscreen-toggle,rtk-more-toggle,rtk-camera-toggle,rtk-mic-toggle,rtk-screen-share-toggle,rtk-screenshare-toggle,rtk-leave-button{display:none!important}rtk-controlbar{display:none!important}rtk-settings-toggle::part(button){display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important;width:auto!important;min-width:140px;height:56px;border-radius:14px!important;background:#2c181099!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(245,240,232,.2)!important;color:var(--sand-1)!important;font-family:var(--font-body)!important;font-weight:var(--fw-bold)!important;font-size:15px!important;padding:0 24px!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 4px 12px #0000004d}rtk-settings-toggle::part(button):hover{background:#2c1810cc!important;border-color:#f5f0e866!important;transform:translateY(-2px);box-shadow:0 6px 16px #0006}.settings-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1600;background:#0009;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,20px)}.settings-modal{width:min(720px,96vw);height:min(480px,86dvh);border-radius:14px;overflow:hidden}@media (max-width: 599px){.recording-banner{font-size:11px;padding:8px 12px}.recording-icon{width:8px;height:8px;flex-shrink:0}.call-controls{right:50%;transform:translate(50%);bottom:max(20px,env(safe-area-inset-bottom));gap:12px}.settings-toggle-wrapper{display:none}.control-button{min-width:140px;height:52px;font-size:14px}.pip-self-wrapper{width:90px;height:68px;left:12px;bottom:max(84px,calc(env(safe-area-inset-bottom) + 70px))}}@media (min-width: 600px) and (max-width: 1023px){.recording-banner{font-size:12px}.call-controls{right:20px;bottom:max(20px,env(safe-area-inset-bottom))}.settings-toggle-wrapper{right:185px;bottom:max(20px,env(safe-area-inset-bottom))}.pip-self-wrapper{width:110px;height:82px}}@media (min-width: 1024px){.call-controls{right:24px;bottom:24px}.settings-toggle-wrapper{right:200px;bottom:24px}}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.spinner{width:48px;height:48px;border:3px solid var(--sand-3);border-top-color:var(--crimson-1);border-radius:50%;animation:spin 1s cubic-bezier(.4,0,.2,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px;text-align:center}.error-screen h2{color:var(--crimson-1);font-family:var(--font-display);margin-bottom:8px}.error-screen p{color:var(--warm-mid);font-family:var(--font-body);max-width:400px}.retry-button{padding:12px 30px;background:var(--crimson-1);color:var(--sand-1);border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;font-family:var(--font-body);transition:all .2s ease}.retry-button:hover{background:var(--crimson-2);transform:translateY(-1px)}.visitor-card-header .badge{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--fw-extrabold);color:var(--warm-light);margin-bottom:8px;display:block}.visitor-card-header h1{font-family:var(--font-display);font-size:28px;font-weight:var(--fw-black);color:var(--crimson-1);margin:0;line-height:1.2}.stepper-bar{display:flex;justify-content:space-between;position:relative;margin-bottom:40px;padding:0 10px}.stepper-bar:before{content:"";position:absolute;top:16px;left:40px;right:40px;height:2px;background:var(--sand-2);z-index:1}.step-item{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:64px}.step-dot{width:32px;height:32px;background:var(--sand-1)!important;border:2px solid var(--sand-3)!important;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px!important;font-weight:var(--fw-extrabold)!important;color:var(--warm-light)!important;margin-bottom:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.step-item.active .step-dot{background:var(--crimson-1)!important;border-color:var(--crimson-1)!important;color:var(--white)!important;box-shadow:0 0 0 4px #8b1a2e1a}.step-item.completed .step-dot{background:var(--sand-3)!important;border-color:var(--sand-3)!important;color:var(--crimson-1)!important}.step-label{font-size:11px!important;font-weight:var(--fw-bold)!important;color:var(--warm-light)!important;text-align:center;line-height:1.2}.step-item.active .step-label{color:var(--crimson-1)!important}.visitor-field{margin-bottom:12px}.visitor-field .required{color:var(--crimson-1)}.visitor-input{width:100%;padding:14px 18px;font-family:var(--font-body)!important;font-size:16px!important;background:var(--sand-1)!important;border:1.5px solid var(--sand-3)!important;border-radius:12px;color:var(--warm-dark)}.visitor-input:focus{border-color:var(--crimson-1)!important;background:var(--white)!important}.visitor-check-group{display:flex;flex-direction:column;gap:16px;background:var(--sand-1);padding:24px;border-radius:16px}.visitor-btn-row{margin-top:40px;padding-top:32px;border-top:2px solid var(--sand-2);display:flex;justify-content:flex-end;gap:16px}
