:root{--color-primary: #0066ff;--color-primary-dark: #0052cc;--color-success: #34c759;--color-warning: #ff9f0a;--color-error: #ff3b30;--color-info: #0066ff;--bg-primary: #ffffff;--bg-secondary: #f5f5f7;--bg-tertiary: #e8e8ed;--bg-card: #ffffff;--bg-card-hover: #fafafa;--bg-card-glass: rgba(255, 255, 255, .95);--bg-primary-light: #f0f7ff;--bg-success-light: rgba(52, 199, 89, .1);--bg-error-light: rgba(255, 59, 48, .1);--bg-warning-light: rgba(255, 159, 10, .1);--bg-gradient-card: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);--text-primary: #1c1c1e;--text-secondary: #8e8e93;--text-tertiary: #c7c7cc;--text-inverse: #ffffff;--border-color: #e5e5ea;--border-light: #f2f2f7;--border-success: rgba(52, 199, 89, .3);--border-error: rgba(255, 59, 48, .3);--border-warning: rgba(255, 159, 10, .3);--border-primary: rgba(0, 102, 255, .3);--shadow-color: rgba(0, 0, 0, .08);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-xxl: 24px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--scrollbar-thumb: rgba(0, 0, 0, .15)}[data-theme=dark],html.dark{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--bg-card-glass: rgba(28, 28, 30, .95);--bg-primary-light: rgba(0, 102, 255, .15);--bg-success-light: rgba(52, 199, 89, .15);--bg-error-light: rgba(255, 59, 48, .15);--bg-warning-light: rgba(255, 159, 10, .15);--bg-gradient-card: linear-gradient(180deg, #1c1c1e 0%, #000000 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .4);--text-inverse: #000000;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--border-success: rgba(52, 199, 89, .4);--border-error: rgba(255, 59, 48, .4);--border-warning: rgba(255, 159, 10, .4);--border-primary: rgba(0, 102, 255, .4);--shadow-color: rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .2);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--bg-card-glass: rgba(28, 28, 30, .95);--bg-primary-light: rgba(0, 102, 255, .15);--bg-success-light: rgba(52, 199, 89, .15);--bg-error-light: rgba(255, 59, 48, .15);--bg-warning-light: rgba(255, 159, 10, .15);--bg-gradient-card: linear-gradient(180deg, #1c1c1e 0%, #000000 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .4);--text-inverse: #000000;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--border-success: rgba(52, 199, 89, .4);--border-error: rgba(255, 59, 48, .4);--border-warning: rgba(255, 159, 10, .4);--border-primary: rgba(0, 102, 255, .4);--shadow-color: rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .2);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:light dark}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;line-height:1.5}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary)}.app-content{flex:1;padding-bottom:calc(80px + var(--safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a{color:var(--color-primary);text-decoration:none}input,textarea,select{font-family:inherit;font-size:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:12px 16px;width:100%;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.fade-in{animation:fadeIn .3s ease}.pulse{animation:statusPulse 2s ease-in-out infinite}.slide-up{animation:slideUp .3s ease}.slide-down{animation:slideDown .3s ease}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.no-select{-webkit-user-select:none;user-select:none}.safe-bottom{padding-bottom:calc(var(--spacing-lg) + var(--safe-area-inset-bottom))}@supports (-webkit-touch-callout: none){body{min-height:-webkit-fill-available}}body{--tg-bg: var(--bg-primary);--tg-text: var(--text-primary);--tg-hint: var(--text-secondary);--tg-link: var(--color-primary);--tg-button: var(--color-primary);--tg-button-text: #000000}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-slideUp{animation:slideUp .4s ease-out forwards}.tab-content{animation:tabFadeIn .25s ease-out}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ptr-container{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.ptr-indicator{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;height:0;overflow:hidden;transition:height .2s ease}.ptr-indicator.pulling{height:60px}.ptr-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.confetti-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;animation:confettiFall 3s linear forwards}@keyframes confettiFall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.fab{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));right:16px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00d4aa,#00b894);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 20px #00d4aa66;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:50}.fab:active{transform:scale(.9)}.fab:hover{transform:scale(1.1);box-shadow:0 6px 30px #00d4aa80}.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff3b30;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;animation:badgePop .3s ease}@keyframes badgePop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.card-interactive{transition:all .2s ease;cursor:pointer}.card-interactive:active{transform:scale(.98)}@media (hover: hover){.card-interactive:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-color)}}.toast{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--bg-secondary);border-radius:12px;box-shadow:0 8px 32px #0000004d;animation:toastSlide .3s ease}.toast-success{border-left:4px solid #34c759}.toast-error{border-left:4px solid #ff3b30}.toast-warning{border-left:4px solid #ff9f0a}.toast-info{border-left:4px solid #007aff}@keyframes toastSlide{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-bar{height:4px;background:var(--bg-card);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#00d4aa,#00f5c4);border-radius:2px;transition:width .3s ease}.status-dot{width:8px;height:8px;border-radius:50%;animation:statusPulse 2s ease-in-out infinite}.status-dot.online{background:#34c759;box-shadow:0 0 8px #34c75980}.status-dot.offline{background:#ff3b30;box-shadow:0 0 8px #ff3b3080}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.6}}.onboarding-slide{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding:32px;text-align:center;animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.onboarding-dots{display:flex;gap:8px;justify-content:center;margin-top:24px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:all .3s ease}.onboarding-dot.active{width:24px;border-radius:4px;background:var(--color-primary)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.ripple:active:after{width:200px;height:200px}.glow-primary{box-shadow:0 0 20px #00d4aa33}.glow-success{box-shadow:0 0 20px #34c75933}.glow-warning{box-shadow:0 0 20px #ff9f0a33}.glass{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}[data-theme=light] .glass{background:#ffffffb3;border:1px solid rgba(0,0,0,.05)}.btn-press{transition:transform .1s ease,box-shadow .2s ease}.btn-press:active{transform:scale(.97)}.gradient-text{background:linear-gradient(135deg,#00d4aa,#00f5c4,#00d4aa);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.shimmer-premium{position:relative;overflow:hidden}.shimmer-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmerPremium 2s ease-in-out infinite}@keyframes shimmerPremium{0%{left:-100%}to{left:100%}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce .6s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.checkmark{width:56px;height:56px;border-radius:50%;display:block;stroke-width:2;stroke:#34c759;stroke-miterlimit:10;animation:checkmarkFill .4s ease-in-out .4s forwards,checkmarkScale .3s ease-in-out .9s both}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34c759;fill:none;animation:checkmarkStroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmarkStroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes checkmarkStroke{to{stroke-dashoffset:0}}@keyframes checkmarkScale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes checkmarkFill{to{box-shadow:inset 0 0 0 30px #34c7591a}}.skeleton-wave{background:linear-gradient(90deg,var(--bg-card) 0%,var(--bg-tertiary) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:skeletonWave 1.5s ease-in-out infinite}@keyframes skeletonWave{0%{background-position:200% 0}to{background-position:-200% 0}}.counter{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.counter.updating{animation:counterPop .4s ease}@keyframes counterPop{0%{transform:scale(1)}50%{transform:scale(1.3);color:var(--color-primary)}to{transform:scale(1)}}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerIn .4s ease forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px #00d4aa66}.page-enter{opacity:0;transform:translate(20px)}.page-enter-active{opacity:1;transform:translate(0);transition:all .3s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transform:translate(-20px);transition:all .3s ease}.hero-gradient{background:radial-gradient(ellipse at top center,rgba(0,212,170,.15) 0%,transparent 50%)}.grain:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.input-modern{background:var(--bg-secondary);border:2px solid transparent;border-radius:14px;padding:14px 18px;font-size:16px;color:var(--text-primary);transition:all .2s ease;width:100%}.input-modern:focus{border-color:var(--color-primary);background:var(--bg-primary);box-shadow:0 0 0 4px #00d4aa1a}.input-modern::placeholder{color:var(--text-tertiary)}.card-premium{background:linear-gradient(135deg,#00d4aa1a,#00b8940d);border:1px solid rgba(0,212,170,.2);position:relative;overflow:hidden}.card-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,212,170,.1),transparent);animation:shimmerPremium 3s ease-in-out infinite}.notify-dot{width:10px;height:10px;background:#ff3b30;border-radius:50%;position:absolute;top:-2px;right:-2px;border:2px solid var(--bg-primary);animation:notifyPulse 2s ease-in-out infinite}@keyframes notifyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.sheet-handle{width:36px;height:5px;background:var(--text-tertiary);border-radius:3px;margin:0 auto 16px}.success-state{animation:successPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes successPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
