.callback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;animation:callback-modal-fade-in .2s ease-out;overflow-y:auto}@keyframes callback-modal-fade-in{0%{opacity:0}to{opacity:1}}.callback-modal-content{background:white;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:callback-modal-slide-up .3s ease-out;z-index:10002;margin:auto}@keyframes callback-modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.callback-modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s,background-color .2s;border-radius:6px;z-index:10}.callback-modal-close:hover:not(:disabled){color:#000;background-color:#f5f5f5}.callback-modal-close:disabled{opacity:.5;cursor:not-allowed}.callback-modal-header{padding:32px 32px 24px;text-align:center;border-bottom:1px solid #e5e5e5}.callback-modal-icon-wrapper{width:64px;height:64px;background:#b2876b;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:white}.callback-modal-title{font-size:24px;font-weight:600;color:#313e48;margin:0 0 8px;font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.callback-modal-subtitle{font-size:14px;color:#666;margin:0;line-height:1.5}.callback-modal-subtitle strong{color:#1a1a1a;font-weight:600}.callback-modal-form{padding:24px 32px 32px}.callback-modal-field{margin-bottom:20px}.callback-modal-label{display:block;font-size:14px;font-weight:500;color:#313e48;margin-bottom:8px;font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.callback-modal-required{color:#e53e3e;margin-left:2px}.callback-modal-optional{color:#999;font-weight:400;font-size:12px;margin-left:4px}.callback-modal-input{width:100%;padding:12px 16px;font-size:15px;border:2px solid #e5e5e5;border-radius:8px;transition:border-color .2s,box-shadow .2s;font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);box-sizing:border-box;color:#313e48;background-color:#fff}.callback-modal-input::placeholder{color:#999}.callback-modal-input:focus{outline:none;border-color:#b2876b;box-shadow:0 0 0 3px rgba(178,135,107,.1)}.callback-modal-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.callback-modal-input-error{border-color:#e53e3e}.callback-modal-input-error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px rgba(229,62,62,.1)}.callback-modal-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}.callback-modal-error{display:block;font-size:13px;color:#e53e3e;margin-top:6px}.callback-modal-error,.callback-modal-submit{font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.callback-modal-submit{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:white;background:#b2876b;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.callback-modal-submit:hover:not(:disabled){background:#9d7459;transform:translateY(-1px)}.callback-modal-submit:active:not(:disabled){transform:translateY(0)}.callback-modal-submit:disabled{opacity:.7;cursor:not-allowed}.callback-modal-submit-spinner{animation:callback-modal-spin 1s linear infinite}@keyframes callback-modal-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.callback-modal-submit-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:16px;font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.callback-modal-submit-error svg{flex-shrink:0}.callback-modal-success{padding:48px 32px;text-align:center}.callback-modal-success-icon{color:#22c55e;margin:0 auto 24px;animation:callback-modal-success-scale .4s ease-out}@keyframes callback-modal-success-scale{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.callback-modal-success-title{font-size:28px;font-weight:600;color:#313e48;margin:0 0 16px}.callback-modal-success-message,.callback-modal-success-title{font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.callback-modal-success-message{font-size:15px;color:rgba(49,62,72,.7);line-height:1.6;margin:0 0 24px}.callback-modal-success-message strong{color:#313e48;font-weight:600}.callback-modal-success-note{font-size:13px;color:#999;margin:0;font-style:italic;font-family:var(--font-montserrat,"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}@media (max-width:640px){.callback-modal-overlay{padding:0;align-items:flex-end;height:100dvh;min-height:-webkit-fill-available;overflow-x:hidden}.callback-modal-content{width:100%;max-width:100%;max-height:var(--callback-modal-vvh,min(95dvh,90svh));min-height:0;border-radius:16px 16px 0 0;margin:0;padding-bottom:env(safe-area-inset-bottom,0);-webkit-overflow-scrolling:touch}.callback-modal-header{padding:20px 20px 16px}.callback-modal-icon-wrapper{width:52px;height:52px;margin-bottom:12px}.callback-modal-title{font-size:18px}.callback-modal-subtitle{font-size:13px}.callback-modal-form{padding:16px 20px 24px}.callback-modal-field{margin-bottom:16px}.callback-modal-label{font-size:13px}.callback-modal-input{padding:10px 14px;font-size:16px}.callback-modal-close{top:12px;right:12px;padding:6px}.callback-modal-success{padding:32px 20px 40px}.callback-modal-success-icon{width:48px;height:48px;margin-bottom:16px}.callback-modal-success-title{font-size:22px}.callback-modal-success-message{font-size:14px}}