*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary: #FC5E01;--primary-dark: #E55A2B;--primary-light: #FF8C5A;--secondary: #E6E6F0;--accent: #FF6B35;--accent-dark: #E55A2B;--danger: #ef4444;--text-primary: #030c2d;--text-secondary: gray;--bg-white: #F5F5F7;--bg-gray: #F5F5F7;--bg-light: #FAFAFA;--border: #E0E0E0;--shadow: #030c2d}[data-theme=dark]{--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--bg-white: #1a1a1a;--bg-gray: #302c2c;--bg-light: #1b1616;--border: #333;--secondary: #1b1818a4;--shadow: #ffffff4a}[data-theme=dark] body{background:var(--bg-gray);color:var(--text-primary)}[data-theme=night]{--text-primary: #d0d0d0;--text-secondary: #888;--bg-white: #0a0a0a;--bg-gray: #1a1a1a;--bg-light: #0f0f0f;--border: #222;--secondary: #1a1a1a;--shadow: #030c2d4a}[data-theme=night] body{background:var(--bg-gray);color:var(--text-primary)}body{margin:0;padding:0;width:100%;height:100%;min-height:100vh;top:40px;background:var(--bg-gray);color:var(--text-primary);line-height:1.6;touch-action:manipulation;overflow-x:hidden;overflow-y:auto;position:relative;animation:fadeIn .5s ease-in}body.telegram-webapp{padding:0!important;margin:0!important;height:100vh!important;height:calc(var(--vh, 1vh) * 100)!important;min-height:100vh!important;max-height:100vh!important;overflow:hidden!important;position:fixed!important;top:0!important;left:0!important;width:100%!important}html.telegram-webapp{height:100%!important;height:calc(var(--vh, 1vh) * 100)!important;min-height:100%!important;max-height:100%!important;overflow:hidden!important;position:fixed!important;width:100%!important}body.telegram-webapp .tg-header,body.telegram-webapp [class*=tg-header],body.telegram-webapp [id*=header],body.telegram-webapp header,html.telegram-webapp .tg-header,html.telegram-webapp [class*=tg-header],html.telegram-webapp [id*=header],html.telegram-webapp header,.tg-header,[class*=tg-header],[id*=tg-header]{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;opacity:0!important;position:absolute!important;top:-9999px!important;width:0!important;margin:0!important;padding:0!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#root{width:100%;height:auto;min-height:100vh;position:relative;overflow-x:hidden;overflow-y:auto}html{scroll-behavior:smooth;touch-action:manipulation;overflow-x:hidden;overflow-y:auto;height:100%}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}#root{scrollbar-width:none;-ms-overflow-style:none}#root::-webkit-scrollbar{display:none}.app{scrollbar-width:none;-ms-overflow-style:none}.app::-webkit-scrollbar{display:none}html.telegram-webapp,body.telegram-webapp{height:100vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;position:relative}body.telegram-webapp #root{height:auto;min-height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.telegram-app{height:100vh!important;height:calc(var(--vh, 1vh) * 100)!important;min-height:100vh!important;overflow-y:auto;overflow-x:hidden;position:fixed;inset:0;width:100%}.app-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg-gray);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-loader__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.app-loader__text{font-size:14px;letter-spacing:.3px;color:var(--text-primary)}.app-loader__progress-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:20px}.app-loader__progress{position:relative;width:220px;height:12px;border-radius:999px;background:var(--text-primary);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}.app-loader__progress-bar{position:absolute;inset:0;width:20%;border-radius:999px;background:linear-gradient(90deg,var(--primary),rgba(255,255,255,.9),var(--primary));animation:progressFill 2.4s ease-in-out infinite}.app-loader__progress-icon{position:absolute;top:40;left:0%;width:48px;height:48px;transform:translateY(-100%);animation:progressIcon 2.4s ease-in-out infinite;z-index:2}@keyframes progressFill{0%{width:12%}45%{width:78%}70%{width:86%}to{width:18%}}@keyframes progressIcon{0%{left:0%}45%{left:calc(100% - 48px)}70%{left:calc(100% - 48px)}to{left:0%}}.page-skeleton{padding:2rem;min-height:50vh}.skeleton-header{margin-bottom:2rem}.skeleton-header-content{width:60%;height:32px;background:linear-gradient(90deg,var(--bg-gray) 0%,#e8e8e8 50%,var(--bg-gray) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}.skeleton-body{display:flex;flex-direction:column;gap:1rem}.skeleton-line{width:100%;height:20px;background:linear-gradient(90deg,var(--bg-gray) 0%,#e8e8e8 50%,var(--bg-gray) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-line-short{width:70%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.onboarding-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.onboarding-modal{background:var(--bg-white, #FFFFFF);border-radius:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .4s cubic-bezier(.16,1,.3,1);position:relative;border:1px solid var(--border, rgba(255, 255, 255, .1))}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-content{padding:40px 24px;display:flex;flex-direction:column;align-items:center}.onboarding-header{width:100%;display:flex;align-items:center;margin-bottom:24px;position:relative}.onboarding-header .close-button,.onboarding-header .back-btn{background:var(--bg-gray, #f3f4f6);border:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:all .2s ease}.onboarding-header .back-btn:hover{background:var(--bg-gray-dark, #e5e7eb);transform:translate(-2px)}.header-title{flex:1;text-align:center;font-size:20px;font-weight:700;margin:0 40px 0 0}.onboarding-welcome-icon{font-size:64px;margin-bottom:16px}.onboarding-title{font-size:28px;font-weight:800;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,var(--primary, #FF6B35) 0%,#ff9f43 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.onboarding-subtitle{font-size:16px;color:var(--text-secondary, #6b7280);text-align:center;margin-bottom:32px;line-height:1.5}.onboarding-buttons{width:100%;display:flex;flex-direction:column;gap:16px}.onboarding-button{width:100%;padding:16px 20px;border-radius:16px;border:1px solid var(--border, #e5e7eb);background:var(--bg-white, #FFFFFF);display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left}.onboarding-button:hover{border-color:var(--primary, #FF6B35);background:var(--bg-gray, #f9fafb);transform:translateY(-2px)}.button-icon-wrapper{width:48px;height:48px;border-radius:12px;background:var(--primary-light, rgba(255, 107, 53, .1));color:var(--primary, #FF6B35);display:flex;align-items:center;justify-content:center;font-size:20px}.onboarding-button-primary .button-icon-wrapper{background:#4f46e520;color:#4f46e5}.onboarding-button-secondary .button-icon-wrapper{background:#10b98120;color:#10b981}.button-text-wrapper{flex:1}.onboarding-label{font-size:17px;font-weight:600;color:var(--text-primary, #111827)}.chevron-icon{font-size:14px;color:var(--text-secondary, #9ca3af)}.mode-toggle{display:flex;background:var(--bg-gray, #f3f4f6);padding:6px;border-radius:14px;width:100%;margin-bottom:24px}.mode-btn{flex:1;padding:10px;border:none;background:transparent;border-radius:10px;font-weight:600;font-size:14px;color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.mode-btn.active{background:var(--bg-white, #FFFFFF);color:var(--primary, #FF6B35);box-shadow:0 4px 6px -1px #0000001a}.onboarding-form{width:100%}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary, #374151);margin-bottom:8px}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:var(--text-secondary, #9ca3af)}.form-input{width:100%;padding:14px 16px 14px 48px;border:1.5px solid var(--border, #e5e7eb);border-radius:12px;font-size:16px;background:var(--bg-white, #FFFFFF);transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary, #FF6B35);box-shadow:0 0 0 4px #ff6b351a}.onboarding-submit-button{width:100%;padding:16px;background:var(--primary, #FF6B35);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;margin-top:12px;transition:all .3s ease;box-shadow:0 10px 15px -3px #ff6b354d}.onboarding-submit-button:hover{background:var(--primary-dark, #E55A2B);transform:translateY(-2px)}.form-error{background:#fee2e2;color:#dc2626;padding:12px;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:16px;text-align:center}.auth-switch{margin-top:24px;font-size:15px;color:var(--text-secondary, #6b7280)}.auth-switch span{color:var(--primary, #FF6B35);font-weight:700;cursor:pointer}.onboarding-terms{margin-top:32px;font-size:12px;color:var(--text-secondary, #9ca3af);text-align:center;line-height:1.6}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.onboarding-modal{max-width:100%;border-radius:32px 32px 0 0;position:fixed;bottom:0}}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding-bottom:70px}.app-content{flex:1 0 auto;width:100%}.app.telegram-app{width:100%;min-height:100vh;height:100vh;height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:fixed;inset:0;padding-top:0;margin:0}html.telegram-webapp{height:100%;overflow:hidden}body.telegram-webapp #root{height:100vh;overflow:hidden;width:100%}body{margin:0;padding:70px 0 0;overflow-x:hidden;background:var(--bg-gray)}body.telegram-webapp{padding-top:0!important}html{overflow-x:hidden}@media(min-width:1024px){.app{padding-bottom:0;padding-top:80px}body{padding-top:0}}#root{width:100%;overflow-x:hidden}.telegram-app{position:fixed;top:0!important;left:0;right:0;bottom:0;width:100%;height:100vh!important;min-height:100vh!important;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;z-index:1;margin:0!important;padding:0!important}body.telegram-webapp .tg-header,body.telegram-webapp [class*=tg-header],body.telegram-webapp [id*=header],body.telegram-webapp header,body.telegram-webapp [class*=Header],body.telegram-webapp [class*=header-title],body.telegram-webapp [class*=header-name],body.telegram-webapp [data-header],html.telegram-webapp .tg-header,html.telegram-webapp [class*=tg-header],html.telegram-webapp [class*=Header]{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important;overflow:hidden!important;opacity:0!important;position:absolute!important;top:-9999px!important;pointer-events:none!important}body.telegram-webapp{height:100vh!important;height:calc(var(--vh, 1vh) * 100)!important;overflow:hidden!important;position:fixed!important;width:100%!important;top:0!important;left:0!important;margin:0!important;padding:0!important}html.telegram-webapp{height:100%!important;height:calc(var(--vh, 1vh) * 100)!important;overflow:hidden!important;position:fixed!important;width:100%!important}body.telegram-webapp #root{height:100vh!important;height:calc(var(--vh, 1vh) * 100)!important;width:100%!important;overflow:hidden!important;position:relative!important;margin:0!important;padding:0!important}body.telegram-webapp .app.telegram-app{margin:0!important;padding:0!important;top:0!important;border:none!important;outline:none!important;background:var(--bg-gray)!important;height:100vh!important;height:calc(var(--vh, 1vh) * 100)!important;min-height:100vh!important}body.telegram-webapp::-webkit-scrollbar,html.telegram-webapp::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}body.telegram-webapp:before,html.telegram-webapp:before,body.telegram-webapp:after,html.telegram-webapp:after{display:none!important}body.telegram-webapp [style*=sticky],body.telegram-webapp [style*="position: sticky"],html.telegram-webapp [style*=sticky],html.telegram-webapp [style*="position: sticky"]{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;max-height:0!important;overflow:hidden!important;pointer-events:none!important}
