:root{--glass-bg: rgba(30, 30, 30, .7);--glass-bg-light: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .18);--glass-blur: 20px;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .37);--neu-shadow-light: -5px -5px 10px rgba(255, 255, 255, .05);--neu-shadow-dark: 5px 5px 10px rgba(0, 0, 0, .5);--neu-inset-light: inset -2px -2px 5px rgba(255, 255, 255, .05);--neu-inset-dark: inset 2px 2px 5px rgba(0, 0, 0, .5);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warm: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-cool: linear-gradient(135deg, #30cfd0 0%, #330867 100%);--gradient-dark: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);--gradient-mesh: radial-gradient(at 40% 20%, hsla(28,100%,74%,.3) 0px, transparent 50%), radial-gradient(at 80% 0%, hsla(189,100%,56%,.3) 0px, transparent 50%), radial-gradient(at 0% 50%, hsla(355,100%,93%,.3) 0px, transparent 50%);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .08);--shadow-float: 0 4px 20px rgba(0, 0, 0, .15);--shadow-floating: 0 10px 40px rgba(0, 0, 0, .2);--shadow-glow: 0 0 20px rgba(114, 32, 48, .5);--shadow-glow-strong: 0 0 40px rgba(114, 32, 48, .7);--spring: cubic-bezier(.68, -.55, .265, 1.55);--bounce: cubic-bezier(.68, -.6, .32, 1.6);--smooth: cubic-bezier(.4, 0, .2, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--color-primary: #722030;--color-primary-light: #8b2635;--color-primary-dark: #5a1924;--color-secondary: #1a1a1a;--color-tertiary: #2d2d2d;--color-accent: #667eea;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px}[data-theme=light]{--glass-bg: rgba(255, 255, 255, .7);--glass-bg-light: rgba(255, 255, 255, .5);--glass-border: rgba(0, 0, 0, .1);--neu-shadow-light: -5px -5px 10px rgba(255, 255, 255, .8);--neu-shadow-dark: 5px 5px 10px rgba(0, 0, 0, .1)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow)}.glass-button{background:var(--glass-bg-light);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--glass-border);color:var(--text-primary);transition:all .3s var(--smooth)}.glass-button:hover{background:var(--bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-float)}.glass-nav{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);box-shadow:0 -4px 20px #00000026}.neu-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow-light),var(--neu-shadow-dark);transition:all .3s var(--smooth)}.neu-card:active{box-shadow:var(--neu-inset-light),var(--neu-inset-dark)}.neu-button{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-light),var(--neu-shadow-dark);border:none;transition:all .2s var(--smooth)}.neu-button:active{box-shadow:var(--neu-inset-light),var(--neu-inset-dark);transform:scale(.98)}.modern-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);position:relative;overflow:hidden;transition:all .4s var(--smooth);border:1px solid var(--border-primary)}.modern-card:before{content:"";position:absolute;inset:0;background:var(--gradient-mesh);opacity:0;transition:opacity .4s var(--smooth);pointer-events:none}.modern-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-floating);border-color:var(--color-accent)}.modern-card:hover:before{opacity:1}.modern-card-glow{position:relative}.modern-card-glow:after{content:"";position:absolute;inset:-2px;background:var(--gradient-primary);border-radius:var(--radius-xl);opacity:0;z-index:-1;filter:blur(20px);transition:opacity .4s var(--smooth)}.modern-card-glow:hover:after{opacity:.6}.fab{position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-primary);box-shadow:var(--shadow-floating);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;border:none;cursor:pointer;z-index:100;transition:all .3s var(--spring)}.fab:hover{transform:scale(1.1) rotate(90deg);box-shadow:var(--shadow-glow-strong)}.fab:active{transform:scale(.95)}.fab-extended{width:auto;padding:0 24px;border-radius:var(--radius-full);gap:12px;display:flex}.pull-to-refresh{position:relative;overflow:hidden}.pull-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s var(--smooth)}.pull-indicator.active{top:20px}.pull-spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.swipe-card{position:relative;touch-action:pan-y;transition:transform .3s var(--smooth),opacity .3s var(--smooth)}.swipe-card.swiping{transition:none}.swipe-card.swiped-left{transform:translate(-100%) rotate(-10deg);opacity:0}.swipe-card.swiped-right{transform:translate(100%) rotate(10deg);opacity:0}.swipe-action{position:absolute;top:0;bottom:0;width:80px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.swipe-action-left{left:0;background:var(--color-error)}.swipe-action-right{right:0;background:var(--color-success)}.shimmer{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0);animation:shimmer-slide 2s infinite}@keyframes shimmer-slide{to{transform:translate(100%)}}.bounce-in{animation:bounceIn .6s var(--bounce)}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.slide-up{animation:slideUp .4s var(--ease-out-expo)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .4s var(--smooth)}.scale-in{animation:scaleIn .3s var(--spring)}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.gradient-text-accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-modern,.btn,button.primary,.primary-btn,.action-btn{padding:12px 24px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff!important;font-weight:600;border:none;box-shadow:0 4px 16px #72203066,0 0 20px #72203033;transition:all .4s var(--spring);position:relative;overflow:hidden;cursor:pointer;font-size:var(--font-md);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-modern:before,.btn:before,button.primary:before,.primary-btn:before,.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s;z-index:1}.btn-modern:hover:before,.btn:hover:before,button.primary:hover:before,.primary-btn:hover:before,.action-btn:hover:before{left:100%}.btn-modern:hover,.btn:hover,button.primary:hover,.primary-btn:hover,.action-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 32px #72203080,0 0 30px #7220304d}.btn-modern:active,.btn:active,button.primary:active,.primary-btn:active,.action-btn:active{transform:translateY(-2px) scale(1.02)}.btn-outline-modern,.btn-secondary,button.secondary,.secondary-btn{padding:12px 24px;border-radius:var(--radius-full);background:var(--bg-card);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));color:var(--text-primary);border:2px solid var(--border-primary);font-weight:600;transition:all .4s var(--spring);position:relative;overflow:hidden;cursor:pointer;font-size:var(--font-md);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-outline-modern:before,.btn-secondary:before,button.secondary:before,.secondary-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--gradient-primary);transform:translate(-50%,-50%);transition:width .5s var(--smooth),height .5s var(--smooth);z-index:0}.btn-outline-modern:hover:before,.btn-secondary:hover:before,button.secondary:hover:before,.secondary-btn:hover:before{width:300%;height:300%}.btn-outline-modern:hover,.btn-secondary:hover,button.secondary:hover,.secondary-btn:hover{color:#fff;border-color:var(--accent-primary);transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-accent)}.btn-outline-modern:active,.btn-secondary:active,button.secondary:active,.secondary-btn:active{transform:translateY(-2px) scale(1.02)}.btn-sm,.btn-modern.sm,button.sm{padding:8px 16px;font-size:var(--font-sm);border-radius:var(--radius-lg)}.btn-lg,.btn-modern.lg,button.lg{padding:16px 32px;font-size:var(--font-lg);border-radius:var(--radius-2xl)}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.btn-modern:disabled,.btn:disabled,button:disabled,.btn-outline-modern:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-modern:disabled:hover:before,.btn:disabled:hover:before,button:disabled:hover:before{left:-100%}.badge-modern,.badge,.category-badge,.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all .3s var(--spring)}.badge-gradient,.badge-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #7220304d}.badge-gradient:hover,.badge-primary:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #72203066}.badge-glow{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-glow);animation:pulse-glow 2s ease-in-out infinite}.badge-glass{background:var(--bg-card);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));color:var(--text-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-sm)}.badge-outline{background:transparent;color:var(--text-primary);border:2px solid var(--border-primary)}.badge-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.badge-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px var(--color-accent),0 0 20px #7220304d}50%{box-shadow:0 0 20px var(--color-accent),0 0 30px #72203080}}.gradient-text,h1.gradient,h2.gradient,h3.gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;position:relative;display:inline-block}.gradient-text:after{content:attr(data-text);position:absolute;inset:0;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:blur(8px);opacity:.3;z-index:-1}.gradient-text-animated{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#667eea,#764ba2);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% center}50%{background-position:100% center}}.text-glow{color:var(--color-accent);text-shadow:0 0 10px rgba(114,32,48,.6),0 0 20px rgba(114,32,48,.4),0 0 30px rgba(114,32,48,.2);animation:pulse-text-glow 2s ease-in-out infinite}@keyframes pulse-text-glow{0%,to{text-shadow:0 0 10px rgba(114,32,48,.6),0 0 20px rgba(114,32,48,.4),0 0 30px rgba(114,32,48,.2)}50%{text-shadow:0 0 15px rgba(114,32,48,.8),0 0 30px rgba(114,32,48,.6),0 0 45px rgba(114,32,48,.4)}}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .3s var(--smooth);position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 2s infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.toast-modern{background:var(--glass-bg);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:16px 20px;box-shadow:var(--shadow-floating);display:flex;align-items:center;gap:12px;animation:slideInRight .4s var(--spring)}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-success .toast-icon{background:var(--color-success)}.toast-error .toast-icon{background:var(--color-error)}.toast-info .toast-icon{background:var(--color-info)}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:24px;box-shadow:0 -8px 32px #0000004d;transform:translateY(100%);transition:transform .4s var(--ease-out-expo);z-index:var(--z-modal)}.bottom-sheet.active{transform:translateY(0)}.bottom-sheet-handle{width:40px;height:4px;background:var(--border-secondary);border-radius:var(--radius-full);margin:0 auto 20px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}.backdrop-blur-sm{backdrop-filter:blur(var(--blur-sm))}.backdrop-blur-md{backdrop-filter:blur(var(--blur-md))}.backdrop-blur-lg{backdrop-filter:blur(var(--blur-lg))}.backdrop-blur-xl{backdrop-filter:blur(var(--blur-xl))}.shadow-soft{box-shadow:var(--shadow-soft)}.shadow-float{box-shadow:var(--shadow-float)}.shadow-floating{box-shadow:var(--shadow-floating)}.shadow-glow{box-shadow:var(--shadow-glow)}.transition-smooth{transition:all .3s var(--smooth)}.transition-spring{transition:all .3s var(--spring)}.transition-bounce{transition:all .3s var(--bounce)}@media (max-width: 768px){.fab{bottom:90px;right:16px}.modern-card:hover{transform:translateY(-4px) scale(1.01)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button,.btn,input[type=submit],input[type=button]{font-family:inherit;font-size:1rem;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;user-select:none;border:none;outline:none;padding:.875rem 1.75rem;border-radius:var(--border-radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:var(--touch-target);white-space:nowrap;backdrop-filter:blur(8px);letter-spacing:.025em}button:disabled,.btn:disabled,input[type=submit]:disabled,input[type=button]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary,.btn:not([class*=btn-]){background:var(--accent-gradient);color:#fff;box-shadow:0 4px 14px #72203066,0 1px 3px #0003;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover,.btn:not([class*=btn-]):hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #72203080,0 4px 8px #0000004d;filter:brightness(1.15) saturate(1.1)}.btn-primary:hover:after{width:300px;height:300px}.btn-primary:active,.btn:not([class*=btn-]):active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 8px #7220304d,0 1px 3px #0003}.btn-primary:before,.btn:not([class*=btn-]):before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.btn-secondary{background:#7220300d;color:var(--accent-primary);border:2px solid var(--accent-primary);box-shadow:0 2px 8px #7220301a;position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--accent-gradient);transition:width .4s cubic-bezier(.4,0,.2,1);z-index:-1}.btn-secondary:hover{color:#fff;border-color:var(--accent-hover);box-shadow:0 6px 20px #7220304d;transform:translateY(-3px) scale(1.02)}.btn-secondary:hover:before{width:100%}.btn-secondary:active{transform:translateY(-1px) scale(.98)}.btn-ghost{background:var(--bg-tertiary);color:var(--text-primary);border:1.5px solid var(--border-primary);box-shadow:0 1px 3px #0000001a;backdrop-filter:blur(10px)}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 12px #72203026;transform:translateY(-2px)}.btn-ghost:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 14px #22c55e59,0 1px 3px #0003}.btn-success:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #22c55e73,0 4px 8px #0000004d;filter:brightness(1.1)}.btn-success:active{transform:translateY(-1px) scale(.98)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef444459,0 1px 3px #0003}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #ef444473,0 4px 8px #0000004d;filter:brightness(1.1)}.btn-danger:active{transform:translateY(-1px) scale(.98)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 14px #f59e0b59,0 1px 3px #0003}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #f59e0b73,0 4px 8px #0000004d;filter:brightness(1.1)}.btn-warning:active{transform:translateY(-1px) scale(.98)}.btn-info{background:var(--info);color:#fff;box-shadow:var(--shadow-md)}.btn-info:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f64d,var(--shadow-lg)}.btn-link{background:none;color:var(--accent-primary);border:none;padding:.5rem 1rem;box-shadow:none;min-height:auto}.btn-link:hover{color:var(--accent-hover);text-decoration:underline;transform:none;background:none}.btn-icon{padding:.625rem;width:var(--touch-target);height:var(--touch-target);border-radius:50%;gap:0}.btn-icon.btn-sm{width:36px;height:36px;padding:.5rem}.btn-icon.btn-lg{width:56px;height:56px;padding:1rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.btn-lg{padding:1rem 2rem;font-size:1.125rem;min-height:52px}.btn-xl{padding:1.25rem 2.5rem;font-size:1.25rem;min-height:60px}.btn-block{width:100%;display:flex}.btn-auto{width:auto}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-top-left-radius:var(--border-radius-md);border-bottom-left-radius:var(--border-radius-md);margin-left:0}.btn-group .btn:last-child{border-top-right-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md)}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.btn-submit,.btn-add,.btn-create{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-submit:hover,.btn-add:hover,.btn-create:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent),var(--shadow-lg);filter:brightness(1.1)}.btn-edit{background:var(--info);color:#fff}.btn-edit:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f64d}.btn-delete,.btn-remove{background:var(--error);color:#fff}.btn-delete:hover,.btn-remove:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 16px #ef44444d}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.btn-add-media,.btn-remove-media{padding:.625rem 1rem;font-size:.875rem;min-height:auto}.btn-add-media{background:var(--bg-tertiary);color:var(--text-primary);border:2px dashed var(--border-primary)}.btn-add-media:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary);border-style:solid}.btn-remove-media{background:#ef44441a;color:var(--error);border:1px solid var(--error);padding:.25rem .5rem;min-height:28px;font-size:.75rem;border-radius:var(--border-radius-sm)}.btn-remove-media:hover{background:var(--error);color:#fff}.btn-add-option,.btn-remove-option{font-size:.875rem;padding:.625rem 1.25rem}.btn-add-option{background:var(--bg-tertiary);color:var(--accent-primary);border:2px dashed var(--accent-primary)}.btn-add-option:hover{background:var(--accent-primary);color:#fff;border-style:solid}.btn-remove-option{background:transparent;color:var(--text-muted);border:none;padding:.25rem .5rem;min-height:auto}.btn-remove-option:hover{color:var(--error);background:#ef44441a}@media (max-width: 768px){button,.btn{min-height:var(--touch-target);padding:.75rem 1.25rem}.btn-sm{min-height:38px;padding:.5rem 1rem}.btn-lg{min-height:52px;padding:1rem 1.75rem}.btn-group{flex-wrap:wrap}}button:focus-visible,.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-contrast: high){.btn-secondary,.btn-ghost{border-width:3px}}@media (prefers-reduced-motion: reduce){button,.btn{transition:none}.btn-primary:before,.btn:not([class*=btn-]):before{display:none}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--bg-card: #1e1e1e;--bg-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .6);--text-disabled: rgba(255, 255, 255, .4);--accent-primary: #722030;--accent-hover: #8b2635;--accent-light: #a12d3e;--accent-dark: #5a1924;--accent-gradient: linear-gradient(135deg, #722030 0%, #8b2635 50%, #a12d3e 100%);--border-primary: #333333;--border-secondary: #404040;--border-accent: #722030;--shadow-sm: 0 2px 4px 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);--shadow-accent: 0 4px 16px rgba(114, 32, 48, .3);--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--border-radius-sm: 6px;--border-radius-md: 10px;--border-radius-lg: 16px;--border-radius-xl: 24px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--touch-target: 44px;--touch-spacing: 8px;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-full: 100%;--z-dropdown: 1000;--z-modal: 1100;--z-toast: 1200;--z-tooltip: 1300;--z-bottom-nav: 950;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--bg-card: #ffffff;--bg-hover: #e9ecef;--text-primary: #1a1a1a;--text-secondary: rgba(0, 0, 0, .8);--text-muted: rgba(0, 0, 0, .6);--text-disabled: rgba(0, 0, 0, .4);--accent-primary: #8b2635;--accent-hover: #a12d3e;--accent-light: #c94057;--accent-dark: #722030;--accent-gradient: linear-gradient(135deg, #8b2635 0%, #a12d3e 50%, #c94057 100%);--border-primary: #e0e0e0;--border-secondary: #d0d0d0;--border-accent: #8b2635;--shadow-sm: 0 2px 4px 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);--shadow-xl: 0 12px 40px rgba(0,0,0,.15);--shadow-accent: 0 4px 16px rgba(139, 38, 53, .25)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;padding:2rem}.loading{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:1rem;font-weight:500}.loading:before{content:"";width:20px;height:20px;border:2px solid var(--border-primary);border-top:2px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;width:100%;max-width:100vw;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}a{font-weight:500;color:var(--accent-primary);text-decoration:none;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:hover{color:var(--accent-hover);text-decoration:none}a:active{opacity:.7;transform:scale(.98)}body{margin:0;min-width:320px;max-width:100vw;width:100%;min-height:100vh;min-height:-webkit-fill-available;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-normal);overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:contain;touch-action:pan-y}*,*:before,*:after{box-sizing:inherit}.main-content{padding-top:var(--header-height, 64px);min-height:calc(100vh - var(--header-height, 64px));padding-bottom:var(--space-xl);width:100%;max-width:100vw;overflow-x:hidden}@media (max-width: 768px){.main-content{padding-bottom:calc(60px + var(--space-lg));padding-left:0;padding-right:0}}#root{min-height:100vh;min-height:-webkit-fill-available;max-width:100vw;width:100%;display:flex;flex-direction:column;overflow-x:hidden;position:relative;isolation:isolate}h1{font-size:var(--font-3xl);line-height:1.2;font-weight:700;color:var(--text-primary);margin:0}h2{font-size:var(--font-2xl);line-height:1.3;font-weight:600;color:var(--text-primary);margin:0}h3{font-size:var(--font-xl);line-height:1.4;font-weight:600;color:var(--text-primary);margin:0}h4{font-size:var(--font-lg);line-height:1.4;font-weight:600;color:var(--text-primary);margin:0}h5{font-size:var(--font-md);line-height:1.4;font-weight:600;color:var(--text-primary);margin:0}@media (min-width: 768px){h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}}p{color:var(--text-secondary);line-height:1.6;margin:0}button{border-radius:var(--border-radius-md);border:none;padding:var(--space-md) var(--space-lg);min-height:var(--touch-target);font-size:var(--font-md);font-weight:600;font-family:inherit;background:var(--accent-gradient);color:#fff;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);text-align:center;white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}button:active{transform:translateY(0) scale(.98);transition:all .1s ease}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px #7220304d}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}input,textarea,select{border-radius:var(--border-radius-md);border:2px solid var(--border-primary);padding:var(--space-md);min-height:var(--touch-target);font-size:var(--font-md);font-family:inherit;background:var(--bg-card);color:var(--text-primary);transition:all var(--transition-normal);width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #72203033}textarea{resize:vertical;min-height:calc(var(--touch-target) * 2);line-height:1.5}.mobile-only{display:block}.desktop-only{display:none}@media (min-width: 768px){.mobile-only{display:none}.desktop-only{display:block}}.container{width:100%;max-width:100%;padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto;box-sizing:border-box}.container-xs{max-width:var(--container-xs)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px;padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}.grid{display:grid;gap:var(--space-md)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width: 640px){.sm\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px){.md\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.mx-auto{margin-left:auto;margin-right:auto}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.touch-target{min-height:var(--touch-target);min-width:var(--touch-target)}.tap-highlight-none{-webkit-tap-highlight-color:transparent}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}::selection{background:var(--accent-primary);color:#fff}*:focus{outline:none}button:focus,a:focus,input:focus,textarea:focus,select:focus{outline:none}button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px #7220304d;border-radius:var(--border-radius-md)}@supports (-webkit-touch-callout: none){.ios-fix{-webkit-appearance:none;-webkit-user-select:none}input,textarea,select{-webkit-appearance:none;border-radius:0}button{-webkit-appearance:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .4s ease-out}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 2s infinite}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 #8b2635b3}50%{opacity:.8;box-shadow:0 0 0 10px #8b263500}}.pulse-glow{animation:pulse-glow 2s infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.shake{animation:shake .5s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.glow-on-hover{transition:box-shadow .3s ease,transform .3s ease}.glow-on-hover:hover{box-shadow:0 0 20px #8b263599,0 0 40px #8b263566;transform:scale(1.02)}.rotate-on-hover{transition:transform .3s ease}.rotate-on-hover:hover{transform:rotate(5deg)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animated-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.spinner{animation:spin 1s linear infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,50%,60%,70%,80%{transform:scale(1.1)}}.heartbeat{animation:heartbeat 1.3s ease-in-out infinite}.stagger-children>*{animation:fadeInUp .5s ease-out;animation-fill-mode:both}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.parallax{transition:transform .1s ease-out}html{scroll-behavior:smooth}*:focus-visible{outline:none;box-shadow:0 0 0 3px #7220304d;border-radius:var(--border-radius-md)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;width:100%;max-width:100vw;overflow-x:hidden}.app:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 80%,rgba(139,38,53,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,38,53,.08) 0%,transparent 50%);pointer-events:none;z-index:-1}.app-layout{display:flex;flex:1;max-width:1600px;margin:0 auto;width:100%;position:relative;z-index:1}.main-content{flex:1;padding:2rem;min-height:calc(100vh - 80px);max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;overflow-x:hidden;contain:layout style paint;transition:padding .3s ease}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.125rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading:before{content:"";width:40px;height:40px;border:3px solid var(--border-primary);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.2);padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500;backdrop-filter:blur(5px)}.success-message{background:#22c55e1a;color:var(--success);border:1px solid rgba(34,197,94,.2);padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500;backdrop-filter:blur(5px)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.125rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state-icon{width:64px;height:64px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-muted)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background:radial-gradient(circle at center,rgba(139,38,53,.05) 0%,transparent 70%)}.auth-form{background:var(--bg-card);padding:3rem;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-secondary);width:100%;max-width:450px;backdrop-filter:blur(20px);position:relative}.auth-form:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-gradient);border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0}.auth-form h2{text-align:center;margin-bottom:2rem;color:var(--text-primary);font-size:1.75rem}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:1.25rem 1rem;border:2px solid var(--border-primary);border-radius:var(--border-radius-md);font-size:1rem;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-normal);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-secondary);box-shadow:0 0 0 3px #8b26351a}.form-group input::placeholder{color:var(--text-disabled)}.terms-checkbox-container{margin:1.5rem 0;padding:1.25rem;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--border-radius-md);transition:all .3s ease}.terms-checkbox-container:has(.terms-checkbox:checked){border-color:var(--accent-primary);background:#7220300d}.terms-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;user-select:none}.terms-checkbox{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{position:relative;width:24px;height:24px;min-width:24px;border:2.5px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.checkbox-custom:before{content:"✓";font-size:18px;font-weight:900;color:transparent;transition:all .3s ease;transform:scale(0)}.terms-checkbox:checked+.checkbox-custom{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 3px #72203026}.terms-checkbox:checked+.checkbox-custom:before{color:#fff;transform:scale(1)}.checkbox-custom:hover{border-color:var(--accent-primary);transform:scale(1.05)}.terms-checkbox:focus+.checkbox-custom{outline:2px solid var(--accent-primary);outline-offset:2px}.terms-text{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.terms-link{background:none;border:none;color:var(--accent-primary);font-weight:600;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;transition:all .2s ease}.terms-link:hover{color:var(--accent-hover);text-decoration-thickness:2px}.terms-link:active{transform:scale(.98)}.username-hint,.password-hint{display:block;margin-top:.5rem;font-size:.85rem;font-weight:500}.form-group input.input-valid{border-color:#28a745;background:#28a7450d}.form-group input.input-invalid{border-color:#dc3545;background:#dc35450d}.form-group input.input-warning{border-color:#ffc107;background:#ffc1070d}.input-hint{display:block;margin-top:.5rem;font-size:.85rem;font-weight:600}.input-hint.success-hint{color:#28a745}.input-hint.error-hint{color:#dc3545}.password-strength-container{margin-top:.75rem}.password-strength-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.password-strength-fill{height:100%;transition:all .3s ease;border-radius:3px}.password-strength-fill.weak{background:linear-gradient(90deg,#dc3545,#ff6b6b)}.password-strength-fill.medium{background:linear-gradient(90deg,#ffc107,#ffda6a)}.password-strength-fill.strong{background:linear-gradient(90deg,#28a745,#48c774)}.password-strength-label{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.password-strength-label:has(.weak){color:#dc3545}.password-strength-container .password-strength-label{color:var(--text-secondary)}.password-feedback{list-style:none;padding:.75rem;margin:.5rem 0 0;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid var(--accent-primary)}.password-feedback li{font-size:.8rem;color:var(--text-secondary);position:relative;padding:.25rem 0 .25rem 1.25rem}.password-feedback li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.char-counter{font-size:.75rem;color:var(--text-muted);text-align:right;margin-top:.25rem}.char-counter.warning{color:#ffc107;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(5px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-secondary);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-primary)}.modal-header h2{font-size:1.5rem;color:var(--text-primary);margin:0}.close-modal{background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast)}.close-modal:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-actions{display:flex;gap:1rem;padding:0 2rem 2rem;justify-content:flex-end}.suggest-category-form{padding:0 2rem}.form-help{font-size:.875rem;color:var(--text-muted);margin-top:.5rem;display:block}.form-group textarea{width:100%;padding:1.25rem 1rem;border:2px solid var(--border-primary);border-radius:var(--border-radius-md);font-size:1rem;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-normal);box-sizing:border-box;font-family:inherit;resize:vertical;min-height:100px}.form-group textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-secondary);box-shadow:0 0 0 3px #8b26351a}.form-group textarea::placeholder{color:var(--text-disabled)}.modal-info{background:var(--bg-tertiary);padding:1.5rem 2rem 2rem;border-top:1px solid var(--border-primary)}.modal-info p{color:var(--text-muted);font-size:.875rem;margin:0}.success-toast{position:fixed;top:2rem;right:2rem;background:var(--success);color:#fff;padding:1rem 1.5rem;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;animation:slideInRight .3s ease-out;font-weight:500}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.auth-page{padding:1rem;min-height:calc(100vh - 64px);margin-top:64px;box-sizing:border-box;width:100%;overflow-x:hidden}.auth-form{padding:2rem 1.5rem;width:100%;max-width:100%;box-sizing:border-box;margin:0 auto}.auth-header h2{font-size:1.5rem}.auth-subtitle{font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.8rem}.form-group input{padding:1rem .875rem;font-size:16px}.input-wrapper{width:100%;box-sizing:border-box}.password-strength-container{margin-top:.75rem}.password-feedback{font-size:.8rem}.terms-checkbox-container{padding:1rem;margin:1.25rem 0}.terms-text{font-size:.85rem}.btn-primary,.btn-register{width:100%;padding:1rem;font-size:1rem;box-sizing:border-box}.auth-footer{font-size:.9rem}.error-message{font-size:.875rem;padding:.875rem 1rem;word-break:break-word}.input-hint,.success-hint,.error-hint{font-size:.8rem}}@media (max-width: 480px){.auth-page{padding:.75rem;margin-top:64px}.auth-form{padding:1.5rem 1.25rem;border-radius:16px}.auth-header h2{font-size:1.35rem}.form-group input{padding:.875rem .75rem}.password-toggle{right:.75rem}.terms-checkbox-container{padding:.875rem}.terms-text{font-size:.8rem}.btn-primary,.btn-register{padding:.875rem;font-size:.95rem}}@media (max-width: 768px){.app{overflow-x:hidden;width:100%}.main-content{padding:1rem;padding-top:calc(70px + 1rem);min-height:calc(100vh - 134px);padding-bottom:90px}*{max-width:100%}img,video{max-width:100%;height:auto}button,.btn,a.btn{min-height:var(--touch-target);min-width:var(--touch-target);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-overlay{padding:1rem;align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:85vh;border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem 1rem 1rem}.modal-header h2{font-size:1.25rem}.modal-actions{padding:0 1rem 1.5rem;flex-direction:column-reverse}.modal-actions button{width:100%}}@media (max-width: 480px){.main-content{padding:.75rem;padding-top:calc(70px + .75rem);padding-bottom:85px}h1{font-size:1.75rem!important}h2{font-size:1.5rem!important}h3{font-size:1.25rem!important}h4{font-size:1.1rem!important}.btn{padding:.75rem 1.5rem;font-size:.95rem}.btn-sm{padding:.5rem 1rem;font-size:.85rem}}.forgot-password-link{text-align:right;margin:-.5rem 0 1rem}.link-button{background:none;border:none;color:var(--accent-primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:.25rem 0;text-decoration:underline;transition:all .2s ease}.link-button:hover{color:var(--accent-hover);text-decoration-thickness:2px}.link-button:active{transform:scale(.98)}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary);color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:all .2s ease}.auth-footer a:hover{color:var(--accent-hover);text-decoration:underline}.reset-password-modal{max-width:500px}.reset-password-modal .modal-info{background:var(--bg-tertiary);padding:1rem 2rem;margin:0;border-top:1px solid var(--border-primary)}.reset-password-modal .modal-info p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.reset-password-modal .form-group{margin-top:1.5rem}.reset-password-modal .form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.success-message{background:#22c55e1a;color:var(--success);border:1px solid rgba(34,197,94,.2);padding:1rem 2rem;border-radius:var(--border-radius-md);font-weight:500;backdrop-filter:blur(5px);text-align:center;line-height:1.6}@media (max-width: 768px){.forgot-password-link{text-align:center;margin:-.25rem 0 1rem}.link-button{font-size:.8rem}.reset-password-modal{width:100%;max-width:100%}.reset-password-modal .modal-info{padding:1rem}.reset-password-modal form{padding:0 1rem 1.5rem!important}.reset-password-modal .modal-header{padding:1.5rem 1rem 1rem}.reset-password-modal .modal-header h2{font-size:1.25rem}}@media (max-width: 768px) and (orientation: landscape){.main-content{min-height:calc(100vh - 60px);padding-bottom:70px}.modal-content{max-height:90vh}}@supports (padding-bottom: env(safe-area-inset-bottom)){@media (max-width: 768px){.main-content{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.mobile-bottom-nav,.modal-content{padding-bottom:env(safe-area-inset-bottom)}}}@media (max-width: 768px){.main-content,.modal-content,.admin-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}button,.btn,a.btn{user-select:none;-webkit-user-select:none}input,textarea,select{font-size:16px!important;border-radius:var(--border-radius-md)}input:focus,textarea:focus,select:focus{font-size:16px!important}}@media (min-width: 769px) and (max-width: 1024px){.main-content{padding:1.5rem;max-width:900px}.admin-tabs{gap:.75rem}.tab-btn{padding:.875rem 1.5rem;font-size:.95rem}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.btn,.tab-btn,.nav-item{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){[data-theme=dark] .modal-overlay{background:#000000d9}[data-theme=dark] .modal-content{border:1px solid rgba(255,255,255,.1)}}.reset-password-modal .required{color:var(--error);margin-left:.25rem}.success-container{text-align:center;padding:2rem}.success-icon-large{font-size:4rem;margin-bottom:1rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-title{color:var(--success);font-size:1.5rem;margin-bottom:1rem;font-weight:700}.success-message{color:var(--text-primary);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.success-message strong{color:var(--accent-primary);word-break:break-all}.email-instructions{text-align:left;background:var(--bg-tertiary);padding:1.5rem;border-radius:var(--border-radius-md);margin-bottom:1.5rem;border:1px solid var(--border-primary)}.email-instructions h4{color:var(--text-primary);font-size:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-weight:600}.email-instructions ol{margin:0;padding-left:1.5rem;color:var(--text-secondary);line-height:1.8}.email-instructions li{margin-bottom:.5rem}.email-note{margin-top:1rem;padding:1rem;background:#8b26351a;border-radius:var(--border-radius-sm);border:1px solid rgba(139,38,53,.2)}.email-note p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.email-note strong{color:var(--text-primary);font-weight:600}.resend-option{margin-top:1.5rem;font-size:.9rem;color:var(--text-secondary);text-align:center}.resend-option .link-button{color:var(--accent-primary);text-decoration:underline;font-weight:600;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.resend-option .link-button:hover{color:var(--accent-hover)}.security-info{margin-top:1rem;padding:1rem;background:#8b26350d;border-radius:var(--border-radius-sm);border:1px solid rgba(139,38,53,.15)}.security-info p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.error-message .error-icon{margin-right:.5rem;font-size:1.2rem;vertical-align:middle}.reset-form{padding:0 2rem 2rem}.video-upload-modal{max-width:600px}.video-upload-instructions{margin-bottom:2rem}.upload-info{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;text-align:center}.upload-specs{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--border-radius-md);border:1px solid var(--border-primary)}.spec-item{color:var(--text-muted);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.video-upload-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.btn-upload-video{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 2rem;background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);min-width:250px}.btn-upload-video:hover:not([disabled]){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-upload-video:active:not([disabled]){transform:translateY(0)}.btn-upload-video:disabled{opacity:.7;cursor:not-allowed}.upload-progress-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:.75rem}.progress-bar{width:100%;height:12px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden;border:1px solid var(--border-primary);position:relative}.progress-fill{height:100%;background:var(--accent-gradient);transition:width .3s ease;border-radius:999px;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{text-align:center;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0}.create-type-modal{max-width:700px;width:90%}.create-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;padding:1.5rem 0}.create-option-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;gap:1rem}.create-option-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:var(--primary-color)}.poll-option:hover{border-color:#3b82f6;background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,var(--bg-secondary) 100%)}.category-option:hover{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--bg-secondary) 100%)}.option-icon{font-size:3rem;margin-bottom:.5rem}.create-option-card h3{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.create-option-card p{color:var(--text-secondary);font-size:.95rem;margin:0}.option-info{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.option-info span{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.option-info span:before{content:"";width:4px;height:4px;background:var(--primary-color);border-radius:50%}.modal-footer{border-top:1px solid var(--border-color);padding-top:1.5rem}.info-text{margin:0;font-size:.875rem;color:var(--text-secondary);text-align:center}@media (max-width: 640px){.create-type-modal{width:95%;max-width:100%}.create-options{grid-template-columns:1fr;gap:1rem}.create-option-card{padding:1.5rem}.option-icon{font-size:2.5rem}.create-option-card h3{font-size:1.25rem}}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0f0f0fbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:999;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.sidebar-overlay.active{opacity:1;visibility:visible}body.sidebar-open{overflow:hidden!important;position:fixed;width:100%;height:100%}.sidebar{position:fixed;top:0;left:-380px;width:380px;height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-primary);box-shadow:4px 0 24px #0006;z-index:1000;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.sidebar.open{left:0}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);pointer-events:none}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;z-index:10}.sidebar-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem 0;scrollbar-width:thin;scrollbar-color:var(--border-primary) transparent}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.category-item{margin:0;position:relative}.category-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:none;border:none;text-align:left;font-size:1rem;color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent;position:relative;overflow:hidden}.category-btn:before{content:"";position:absolute;inset:0;background:var(--accent-primary);opacity:0;transform:scale(0);transition:all .3s ease;border-radius:50%}.category-btn:hover:before{opacity:.1;transform:scale(2)}.category-btn:hover,.category-btn.active{background:var(--bg-hover);border-left-color:var(--accent-primary);transform:translate(4px)}.category-btn.active{color:var(--accent-primary);font-weight:600}.category-count{font-size:.875rem;color:var(--text-muted);margin:0 .5rem}.arrow{font-size:.75rem;color:var(--text-muted);transition:transform var(--transition-fast)}.arrow.down{transform:rotate(90deg)}.categories-divider{padding:1rem 1.5rem .5rem;margin-top:.5rem}.categories-divider span{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.subcategories{background:var(--bg-primary);border-top:1px solid var(--border-secondary);border-bottom:1px solid var(--border-secondary)}.subcategory-btn{width:100%;padding:.75rem 2rem;background:none;border:none;text-align:left;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid transparent}.subcategory-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-left-color:var(--accent-light)}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-primary);background:var(--bg-tertiary);margin-top:auto}.sidebar-settings{margin-bottom:1rem}.theme-toggle-sidebar{width:100%;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.theme-toggle-sidebar:before{content:"";position:absolute;inset:0;background:var(--accent-primary);opacity:0;transform:scale(0);transition:all .3s ease;border-radius:50%}.theme-toggle-sidebar:hover:before{opacity:.1;transform:scale(2)}.theme-toggle-sidebar:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translate(4px)}.theme-toggle-sidebar:active{transform:translate(2px) scale(.98)}.theme-toggle-sidebar .theme-icon{width:20px;height:20px;color:var(--text-secondary);transition:all .3s ease;flex-shrink:0}.theme-toggle-sidebar:hover .theme-icon{color:var(--accent-primary);transform:rotate(15deg)}.theme-toggle-sidebar .sun-icon{animation:rotate-sun 8s linear infinite}.theme-toggle-sidebar .moon-icon{animation:glow-moon 2s ease-in-out infinite}@keyframes rotate-sun{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow-moon{0%,to{opacity:1}50%{opacity:.7}}.theme-toggle-sidebar span{position:relative;z-index:1}.user-menu{display:flex;flex-direction:column;gap:.5rem}.user-info{padding:.75rem;background:var(--bg-card);border-radius:var(--border-radius-md);border:1px solid var(--border-primary)}.user-name{font-weight:600;color:var(--text-primary)}.menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:none;border:none;text-align:left;font-size:.9rem;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-item.admin{color:var(--accent-primary);font-weight:600}.menu-item.admin:hover{background:var(--accent-primary);color:#fff}.menu-item.logout-item{color:#f44336;font-weight:600;width:100%;margin-top:.5rem;border-top:1px solid var(--border-primary);padding-top:1rem}.menu-item.logout-item:hover{background:#f443361a;color:#f44336;border-radius:var(--border-radius-sm)}.menu-item.logout-item:active{background:#f4433633;transform:scale(.98)}.auth-menu{display:flex;flex-direction:column;gap:.75rem}.auth-btn{padding:.75rem 1rem;border:none;border-radius:var(--border-radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.auth-btn.login{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary)}.auth-btn.login:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.auth-btn.register{background:var(--accent-gradient);color:#fff;border:none}.auth-btn.register:hover{transform:translateY(-1px);box-shadow:var(--shadow-accent)}@media (max-width: 768px){.sidebar{width:100vw;left:-100%;right:0}.sidebar.open{left:0}.sidebar-header{padding:1rem 1.5rem}.category-btn{padding:1rem;font-size:.95rem}.subcategory-btn{padding:.75rem 1.5rem}}@media (max-width: 480px){.sidebar-header{padding:1rem}.sidebar-header h2{font-size:1.1rem}.category-btn{padding:.875rem 1rem;font-size:.9rem}.subcategory-btn{padding:.75rem 1.25rem;font-size:.85rem}.sidebar-footer{padding:.75rem 1rem}}@media (max-height: 500px) and (orientation: landscape){.sidebar-header,.category-btn{padding:.75rem 1rem}.sidebar-footer{padding:.5rem 1rem}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar-overlay,.category-btn,.category-btn:before{transition:none}}.search-box{position:relative;width:100%;max-width:500px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:24px;padding:.5rem 1rem;transition:all .3s ease}.search-box.focused .search-input-wrapper{background:var(--bg-hover);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.search-icon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;margin-right:.75rem;transition:color .3s ease}.search-box.focused .search-icon{color:var(--accent-primary)}.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.95rem;padding:0;width:100%}.search-input::placeholder{color:var(--text-muted)}.search-input:focus::placeholder{color:var(--text-disabled)}.search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-hover);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;padding:0;margin-left:.5rem;flex-shrink:0}.search-clear svg{width:14px;height:14px;color:var(--text-secondary)}.search-clear:hover{background:var(--accent-primary)}.search-clear:hover svg{color:#fff}.search-clear:active{transform:scale(.95)}@media (max-width: 768px){.search-box{max-width:100%}.search-input-wrapper{padding:.4rem .75rem}.search-input{font-size:.9rem}.search-icon{width:18px;height:18px;margin-right:.5rem}}.notification-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 20px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.notification-item:hover{background:#ffffff08}.notification-item:active{background:#ffffff0d}.notification-item:last-child{border-bottom:none}.notification-item-unread{background:#8b15380d}.notification-item-unread:hover{background:#8b153814}.notification-item-avatar{position:relative;flex-shrink:0;width:44px;height:44px}.notification-item-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.notification-item-avatar-icon{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b1538,#6a1029)}.notification-item-avatar-icon svg{width:24px;height:24px;color:#fff}.notification-item-unread-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:linear-gradient(135deg,#ff3b30,#ff2d55);border:2px solid var(--bg-secondary, #1a1a1a);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notification-item-message{color:var(--text-primary, #fff);font-size:14px;line-height:1.4;margin:0;word-wrap:break-word}.notification-item-unread .notification-item-message{font-weight:600}.notification-item-time{color:var(--text-tertiary, rgba(255, 255, 255, .5));font-size:12px;font-weight:500}.notification-item-delete{flex-shrink:0;width:32px;height:32px;background:none;border:none;color:var(--text-tertiary, rgba(255, 255, 255, .4));cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.notification-item:hover .notification-item-delete{opacity:1}.notification-item-delete:hover{background:#ff3b301a;color:#ff3b30;transform:scale(1.1)}.notification-item-delete:active{transform:scale(.95)}.notification-item-delete svg{width:18px;height:18px}.notification-item-friend .notification-item-avatar-icon{background:linear-gradient(135deg,#007aff,#5856d6)}.notification-item-activity .notification-item-avatar-icon{background:linear-gradient(135deg,#8b1538,#6a1029)}.notification-item-engagement .notification-item-avatar-icon{background:linear-gradient(135deg,#ff2d55,#ff3b30)}.notification-item-success .notification-item-avatar-icon{background:linear-gradient(135deg,#34c759,#30d158)}.notification-item-default .notification-item-avatar-icon{background:linear-gradient(135deg,#8e8e93,#636366)}@media (max-width: 768px){.notification-item{padding:12px 16px}.notification-item-avatar{width:40px;height:40px}.notification-item-avatar-icon svg{width:20px;height:20px}.notification-item-message{font-size:13px}.notification-item-time{font-size:11px}.notification-item-delete{opacity:1;width:28px;height:28px}}.notification-item-actions{display:flex;gap:8px;margin-top:10px}.notification-action-btn{flex:1;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:36px}.notification-action-accept{background:linear-gradient(135deg,#007aff,#0051d5);color:#fff;box-shadow:0 2px 8px #007aff4d}.notification-action-accept:hover:not(:disabled){background:linear-gradient(135deg,#0051d5,#003da5);transform:translateY(-1px);box-shadow:0 4px 12px #007aff66}.notification-action-accept:active:not(:disabled){transform:translateY(0)}.notification-action-reject{background:#ffffff1a;color:var(--text-primary, #fff);border:1px solid rgba(255,255,255,.2)}.notification-action-reject:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.notification-action-reject:active:not(:disabled){transform:translateY(0)}.notification-action-btn:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btnSpin .6s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.notification-item-actioned{opacity:.6;pointer-events:none}.notification-item-actioned-text{color:var(--success, #34C759);font-size:13px;font-weight:600;margin-top:8px;display:flex;align-items:center;gap:4px}@media (prefers-color-scheme: dark){.notification-item{border-bottom-color:#ffffff0d}}@media (max-width: 768px){.notification-item-actions{gap:6px;margin-top:8px}.notification-action-btn{padding:7px 12px;font-size:12px;min-height:32px}.notification-item-actioned-text{font-size:12px}}.notification-backdrop{display:none}.notification-panel{position:absolute;top:calc(100% + 12px);right:0;width:420px;max-height:600px;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;box-shadow:0 8px 32px #00000080;overflow:hidden;animation:slideDown .2s ease-out;z-index:1001;display:flex;flex-direction:column}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-panel:before{content:"";position:absolute;top:-8px;right:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--bg-secondary, #1a1a1a);filter:drop-shadow(0 -2px 2px rgba(0,0,0,.1))}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1));background:var(--bg-primary, #0f0f0f)}.notification-header-actions{display:flex;align-items:center;gap:8px}.notification-panel-title{font-size:18px;font-weight:700;color:var(--text-primary, #fff);margin:0}.notification-mark-all-btn{background:none;border:none;color:var(--brand-primary, #8B1538);font-size:13px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease}.notification-mark-all-btn:hover{background:#8b15381a;transform:scale(1.05)}.notification-close-btn{display:none;background:none;border:none;color:var(--text-secondary, rgba(255, 255, 255, .6));cursor:pointer;padding:6px;border-radius:50%;transition:all .2s ease;width:32px;height:32px;align-items:center;justify-content:center}.notification-close-btn svg{width:20px;height:20px}.notification-close-btn:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.notification-panel-body{flex:1;overflow-y:auto;max-height:500px}.notification-panel-body::-webkit-scrollbar{width:6px}.notification-panel-body::-webkit-scrollbar-track{background:transparent}.notification-panel-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.notification-panel-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.notification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.notification-loading .spinner{width:40px;height:40px;border:3px solid rgba(139,21,56,.2);border-top-color:var(--brand-primary, #8B1538);border-radius:50%;animation:spin .8s linear infinite}.notification-loading p{color:var(--text-secondary, rgba(255, 255, 255, .6));font-size:14px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.notification-empty-icon{width:64px;height:64px;color:var(--text-tertiary, rgba(255, 255, 255, .3));opacity:.5}.notification-empty p{color:var(--text-primary, #fff);font-size:16px;font-weight:600;margin:0}.notification-empty span{color:var(--text-secondary, rgba(255, 255, 255, .6));font-size:14px}.notification-list{display:flex;flex-direction:column}.notification-panel-footer{padding:12px 20px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));background:var(--bg-primary, #0f0f0f)}.notification-view-all-btn{width:100%;background:none;border:1px solid var(--brand-primary, #8B1538);color:var(--brand-primary, #8B1538);font-size:14px;font-weight:600;padding:10px;border-radius:8px;cursor:pointer;transition:all .2s ease}.notification-view-all-btn:hover{background:#8b15381a;transform:translateY(-1px)}.notification-view-all-btn:active{transform:translateY(0)}@media (max-width: 768px){.notification-backdrop{display:block;position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notification-panel{position:fixed;inset:60px 0 auto;width:100%;max-height:calc(100vh - 80px);border-radius:0 0 20px 20px;animation:slideDown .25s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 8px 32px #0009}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-panel:before{display:none}.notification-panel-header{padding:16px;position:relative}.notification-panel-header:before{display:none}.notification-close-btn.mobile-only{display:flex}.notification-mark-all-btn{font-size:12px;padding:4px 8px}.notification-panel-body{max-height:calc(100vh - 140px)}}.notification-bell-container{position:relative;display:flex!important;align-items:center;justify-content:center;z-index:50;flex-shrink:0}.notification-bell-button{position:relative;background:var(--glass-bg-light, rgba(255, 255, 255, .05));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));cursor:pointer;padding:10px;border-radius:12px;display:flex!important;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-primary, #fff);min-width:44px;min-height:44px}.notification-bell-button:hover{background:#ffffff1a;transform:scale(1.05)}.notification-bell-button:active{transform:scale(.95)}.notification-bell-icon{width:24px;height:24px;transition:transform .3s ease}.notification-bell-button:hover .notification-bell-icon{animation:bellRing .5s ease}@keyframes bellRing{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-10deg)}20%,40%,60%,80%{transform:rotate(10deg)}}.notification-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#ff3b30,#ff2d55);color:#fff;font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-primary, #0a0a0a);animation:badgePulse 2s ease-in-out infinite;box-shadow:0 2px 8px #ff2d5566}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #ff2d5566}50%{transform:scale(1.1);box-shadow:0 4px 12px #ff2d5599}}@media (max-width: 768px){.notification-bell-container{margin:0;flex-shrink:0}.notification-bell-button{padding:8px;margin:0;min-width:42px;min-height:42px}.notification-bell-icon{width:22px;height:22px}.notification-badge{min-width:16px;height:16px;font-size:9px;top:2px;right:2px}.notification-bell-button:hover{transform:scale(1.1)}}@media (max-width: 480px){.notification-bell-button{padding:7px;min-width:40px;min-height:40px}.notification-bell-icon{width:20px;height:20px}}.header{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:1100;transition:all .4s var(--spring);box-shadow:0 4px 32px #0003,0 2px 8px #7220301a}.header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient-primary);opacity:.5;box-shadow:0 0 20px #72203099}.header-content{max-width:1600px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 2rem;height:70px;box-sizing:border-box}.hamburger-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;background:var(--glass-bg-light);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border:1px solid var(--glass-border);cursor:pointer;padding:8px;border-radius:var(--radius-lg);transition:all .4s var(--spring);position:relative;overflow:hidden}.hamburger-menu:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(114,32,48,.3) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s var(--smooth),height .4s var(--smooth);z-index:0}.hamburger-menu:hover:before{width:80px;height:80px}.hamburger-menu:hover{background:var(--glass-bg);border-color:var(--color-accent);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #7220304d}.hamburger-line{width:22px;height:2.5px;background:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px;position:relative;z-index:1;box-shadow:0 1px 2px #0003}.hamburger-menu.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-menu.active .hamburger-line:nth-child(2){opacity:0;transform:scale(0)}.hamburger-menu.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hamburger-menu.active{background:var(--bg-hover);transform:rotate(0)}.header-left{display:flex;align-items:center;gap:1rem}.logo{text-decoration:none;color:var(--text-primary)}.logo-text{font-size:1.6rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 20px rgba(139,38,53,.3);position:relative}.logo-text:after{content:"";position:absolute;inset:0;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:blur(8px);opacity:.5;z-index:-1}.header-search{display:flex;justify-content:center;flex:1;max-width:500px;position:relative}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:0 16px 48px #0000004d,0 4px 16px #72203033;z-index:2000;max-height:500px;overflow-y:auto;margin-top:.75rem;overflow:hidden;animation:slideDown .3s var(--spring)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.search-section{padding:1rem;border-bottom:1px solid var(--border-primary)}.search-section:last-of-type{border-bottom:none}.search-section h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.search-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-lg);transition:all .3s var(--spring);text-decoration:none;color:var(--text-primary);cursor:pointer;position:relative;overflow:hidden}.search-item-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.search-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(114,32,48,.1),transparent);transition:left .4s}.search-item:hover:before{left:100%}.search-item:hover{background:var(--glass-bg-light);color:var(--accent-light);transform:translate(4px);box-shadow:0 2px 8px #72203033}.search-icon{font-size:1rem;opacity:.7}.search-text{font-weight:500;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-meta{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.search-category{font-size:.75rem;color:var(--text-muted);background:#8b26351a;padding:.2rem .5rem;border-radius:var(--radius-sm);display:inline-block;margin-top:.25rem}.search-match-type{font-size:.7rem;padding:.2rem .5rem;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.search-footer{padding:.75rem 1rem;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.view-all-link{display:flex;align-items:center;justify-content:center;color:var(--accent-primary);text-decoration:none;font-weight:600;font-size:.9rem;padding:.5rem;border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.view-all-link:hover{background:#8b26351a;color:var(--accent-light)}.search-loading,.no-search-results{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.95rem}.search-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;animation:pulse 2s ease-in-out infinite}.nav{display:flex;align-items:center;gap:.75rem}.nav .notification-bell-container{display:flex!important;align-items:center;justify-content:center;margin:0;flex-shrink:0}.nav-link{text-decoration:none;color:var(--text-primary);padding:.75rem 1.25rem;border-radius:var(--radius-xl);font-weight:600;transition:all .4s var(--spring);display:flex;align-items:center;gap:.5rem;font-size:.95rem;white-space:nowrap;position:relative;overflow:hidden;background:var(--glass-bg-light);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border:1px solid var(--glass-border)}.nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(114,32,48,.15),transparent);transition:left .5s;z-index:0}.nav-link:hover:before{left:100%}.nav-link:hover{background:var(--glass-bg);color:var(--accent-light);border-color:var(--color-accent);transform:translateY(-4px) scale(1.05);box-shadow:0 6px 20px #7220304d}.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.admin-link{background:#8b26351a;border:1px solid var(--border-accent);color:var(--accent-light)}.admin-link:hover{background:var(--accent-primary);color:#fff}.register-btn{background:var(--gradient-primary);color:#fff;border:none;box-shadow:0 4px 16px #72203066,0 0 20px #72203033}.register-btn:before{display:none}.register-btn:hover{background:var(--gradient-primary);box-shadow:0 8px 32px #72203080,0 0 30px #7220304d;color:#fff;transform:translateY(-6px) scale(1.08);border-color:transparent}.logout-btn{background:none;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:.5rem .875rem;font-size:.85rem}.logout-btn:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.menu-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:1500;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.menu-overlay.active{opacity:1;visibility:visible}.category-menu{position:fixed;top:0;left:0;height:100vh;width:320px;background:var(--bg-card);border-right:1px solid var(--border-secondary);box-shadow:var(--shadow-lg);z-index:2000;transform:translate(-100%);transition:all var(--transition-normal);overflow-y:auto;display:flex;flex-direction:column}.category-menu.active{transform:translate(0)}.category-menu-header{padding:2rem;border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);position:sticky;top:0;z-index:10}.category-menu-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.close-menu{width:32px;height:32px;border:none;background:var(--bg-hover);color:var(--text-primary);border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-menu:hover{background:var(--accent-primary);color:#fff;transform:scale(1.1)}.category-list{flex:1;padding:1rem 0}.category-item{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;text-decoration:none;color:var(--text-primary);transition:all var(--transition-fast);border-left:3px solid transparent}.category-item:hover{background:var(--bg-hover);border-left-color:var(--accent-primary);color:var(--accent-light);transform:translate(4px)}.category-hash{color:var(--accent-primary);font-weight:700;font-size:1.1rem}.category-name{flex:1;font-weight:500;font-size:.95rem}.category-arrow{color:var(--text-muted);transition:all var(--transition-fast)}.category-item:hover .category-arrow{color:var(--accent-primary);transform:translate(4px)}.menu-actions{padding:1.5rem 2rem;border-top:1px solid var(--border-secondary);background:#8b26350d;display:flex;flex-direction:column;gap:.75rem}.suggest-category-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-accent);border-radius:var(--border-radius-md);font-weight:600;font-size:.95rem;transition:all var(--transition-normal);cursor:pointer}.suggest-category-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-hover);transform:translateY(-2px)}.admin-actions{padding:1.5rem 2rem;border-top:1px solid var(--border-secondary);background:#8b26350d}.admin-action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:var(--accent-gradient);color:#fff;text-decoration:none;border-radius:var(--border-radius-md);font-weight:600;font-size:.95rem;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.admin-action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent);color:#fff}.mobile-search-btn{display:none;width:40px;height:40px;border:1px solid var(--glass-border);background:var(--glass-bg-light);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));color:var(--accent-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .4s var(--spring);align-items:center;justify-content:center;padding:8px;position:relative;overflow:hidden}.mobile-search-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(114,32,48,.3) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s var(--smooth),height .4s var(--smooth);z-index:0}.mobile-search-btn:hover:before{width:80px;height:80px}.mobile-search-btn:hover{background:var(--glass-bg);border-color:var(--color-accent);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #7220304d}.mobile-search-btn svg{position:relative;z-index:1}.mobile-search-btn svg{width:20px;height:20px}.mobile-search-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));z-index:3000;display:flex;flex-direction:column;animation:fadeIn .3s var(--smooth)}.mobile-search-container{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.mobile-search-header{display:flex;align-items:center;padding:1rem;gap:1rem;background:var(--bg-card);border-bottom:1px solid var(--border-primary)}.mobile-search-header .search-box{flex:1;max-width:none}.mobile-search-close{width:44px;height:44px;border:none;background:#ef44441a;color:var(--error);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.mobile-search-close:hover{background:#ef444433;transform:scale(1.05)}.mobile-search-results{flex:1;overflow-y:auto;padding:1rem}@media (max-width: 1024px){.header-search{max-width:250px}}@media (max-width: 768px){.header{background:#1a1a1af2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-bottom:1px solid rgba(139,38,53,.2);box-shadow:0 4px 30px #00000026;position:fixed;width:100%;left:0;right:0}.header-content{padding:.75rem 1rem;height:64px;display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.header-left{gap:.875rem;flex-shrink:0}.header-search{display:none}.mobile-search-btn{display:flex;flex-shrink:0;width:44px;height:44px;background:#8b26351f;border-radius:14px;box-shadow:0 2px 8px #8b263526}.mobile-search-btn:active{transform:scale(.92)}.nav{gap:.625rem;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.nav-link{padding:.7rem 1rem;font-size:.9rem;border-radius:12px;white-space:nowrap;box-shadow:0 2px 8px #00000014;flex-shrink:0;display:flex;align-items:center;gap:.5rem}.nav-link svg{width:20px;height:20px}.nav-link:active{transform:scale(.95)}.user-link{flex-shrink:0;display:flex;align-items:center;justify-content:center}.login-link,.register-link{flex-shrink:0}.home-link:hover{color:var(--accent-primary)}.create-link{background:#8b26351a;border-color:var(--accent-primary)}.create-link:hover{background:var(--accent-primary);color:#fff}.logo-text{font-size:1.25rem;text-shadow:0 0 25px rgba(139,38,53,.4);white-space:nowrap}.hamburger-menu{width:40px;height:40px;flex-shrink:0;background:#8b263514;border-radius:12px;box-shadow:0 2px 8px #8b26351a}.hamburger-menu:active{transform:scale(.92)}.hamburger-line{width:22px;height:3px}.category-menu{width:88vw;max-width:340px;background:var(--bg-card);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:0 10px 60px #0000004d}.category-menu-header{padding:1.75rem 1.25rem;background:linear-gradient(135deg,#8b263514,#8b263508)}.category-item{padding:1rem 1.25rem;margin:.25rem .75rem;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1)}.category-item:active{transform:scale(.97)}.admin-actions{padding:1.25rem 1rem}}@media (max-width: 480px){.header-content{padding:.625rem 1rem;gap:.75rem;max-width:100vw;overflow-x:hidden;height:64px}.header-left{gap:.75rem}.nav-link:not(.register-btn) .nav-text:not(:only-child){display:none}.nav-link .nav-text:only-child{display:block}.user-avatar{width:32px;height:32px;font-size:.75rem;box-shadow:0 2px 8px #8b263533}.nav{gap:.5rem;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.nav-link{padding:.65rem .875rem;font-size:.8rem;min-width:auto;white-space:nowrap;border-radius:12px;flex-shrink:0}.nav-link .nav-text{display:none}.nav-link svg{width:18px;height:18px}.nav-link:active{transform:scale(.93)}.user-link{padding:.5rem}.login-link .nav-text,.register-link .nav-text{display:inline}.nav-link .nav-text:only-child{font-size:.8rem;font-weight:600}.mobile-search-btn{width:42px;height:42px}.mobile-search-btn svg{width:20px;height:20px}.logo-text{font-size:1.3rem}.hamburger-menu{width:42px;height:42px}}.desktop-only{display:flex!important}.mobile-only{display:none!important}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}.create-modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .4s var(--smooth)}@keyframes fadeIn{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(var(--blur-lg))}}.create-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUpSpring .5s var(--spring);box-shadow:0 -8px 32px #00000080,0 -2px 8px #72203033;position:relative}.create-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);box-shadow:0 0 20px #72203099}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideUpSpring{0%{transform:translateY(100%) scale(.95);opacity:0}60%{transform:translateY(-10px) scale(1.02);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.create-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg-card);z-index:1}.create-modal-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}.modal-close-btn{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--bg-secondary);border:none;color:var(--text-primary);font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.modal-close-btn:active{transform:scale(.95)}.create-options{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.create-option-card{background:var(--bg-card);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:pointer;transition:all .4s var(--spring);text-align:left;width:100%;position:relative;overflow:hidden}.create-option-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.create-option-card:hover:before{left:100%}.create-option-card:hover{border-color:var(--accent-primary);background:var(--bg-hover);transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-floating)}.create-option-card:active{transform:translateY(-2px) scale(.98)}.option-icon{font-size:3rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.poll-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.category-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.option-content{flex:1}.option-content h3{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.option-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--spacing-md) 0}.option-features{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.feature-tag{font-size:var(--font-size-xs);padding:4px 10px;background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);font-weight:600}.option-arrow{font-size:var(--font-size-xl);color:var(--accent-primary);align-self:center;transition:transform .2s ease}.create-option-card:hover .option-arrow{transform:translate(4px)}.create-modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.footer-note{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;line-height:1.5}.footer-note strong{color:var(--accent-primary)}@media (min-width: 768px){.create-modal-overlay{align-items:center}.create-modal{border-radius:var(--radius-xl);max-height:90vh}}.create-modal{scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}.create-modal::-webkit-scrollbar{width:6px}.create-modal::-webkit-scrollbar-track{background:var(--bg-secondary)}.create-modal::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:var(--radius-sm)}.create-modal::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.mobile-bottom-nav{display:none}@media (max-width: 768px){.mobile-bottom-nav{display:flex!important;position:fixed!important;inset:auto 0 0!important;width:100%!important;height:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;flex-direction:row!important;justify-content:space-around!important;align-items:center!important;flex-wrap:nowrap!important;z-index:999999!important;background:var(--glass-bg)!important;border-top:1px solid var(--glass-border)!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important;padding:.75rem 1rem!important;box-shadow:0 -8px 32px #0000005e,0 -2px 8px #7220301a!important;transition:none!important;animation:none!important;will-change:auto!important}.mobile-bottom-nav.hidden,.mobile-bottom-nav.hide,.mobile-bottom-nav[style*="display: none"],.mobile-bottom-nav[style*="opacity: 0"],.mobile-bottom-nav[style*="visibility: hidden"]{display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important}}@media (min-width: 769px){.mobile-bottom-nav{display:none!important}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text-secondary);min-height:48px;min-width:48px;padding:.5rem;border-radius:var(--radius-xl);transition:all .4s var(--spring);position:relative;background:transparent;border:none;cursor:pointer;font-family:inherit;overflow:hidden}.nav-item:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(114,32,48,.3) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .6s var(--smooth),height .6s var(--smooth);z-index:0}.nav-item:hover:before{width:100px;height:100px}.nav-item:hover{color:var(--accent-primary);background:var(--glass-bg-light);transform:translateY(-4px) scale(1.05);box-shadow:0 4px 12px #7220304d}.nav-item.active{color:#fff;background:var(--gradient-primary);transform:translateY(-2px);box-shadow:0 4px 16px #72203080}.nav-item.active:after{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:32px;height:3px;background:#fff;border-radius:var(--radius-full);box-shadow:0 0 10px #fffc}.nav-item.disabled{opacity:.5;cursor:not-allowed}.nav-item.disabled:hover{color:var(--text-secondary);background:transparent}.nav-icon{font-size:1.3rem;margin-bottom:3px;display:block;transition:all .4s var(--spring);position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.nav-item:hover .nav-icon{transform:scale(1.2) rotate(-5deg);filter:drop-shadow(0 4px 8px rgba(114,32,48,.4))}.nav-item.active .nav-icon{transform:scale(1.15);filter:drop-shadow(0 4px 8px rgba(255,255,255,.6));animation:bounce-icon .6s var(--bounce)}@keyframes bounce-icon{0%,to{transform:scale(1.15) translateY(0)}50%{transform:scale(1.3) translateY(-4px)}}.nav-label{font-size:.75rem;font-weight:700;line-height:1;text-align:center;letter-spacing:.05em;position:relative;z-index:1;text-transform:uppercase;transition:all .3s var(--smooth)}.nav-item.active .nav-label{font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.3)}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-bottom-nav{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}@media (max-width: 480px){.mobile-bottom-nav{padding:.6rem .5rem}.nav-item{min-height:44px;min-width:44px;padding:.4rem}.nav-icon{font-size:1.2rem}.nav-label{font-size:.7rem}}.nav-item:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#8b263533;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1);pointer-events:none}.nav-item:active:after{width:40px;height:40px}.loading-spinner-container{display:flex;align-items:center;justify-content:center;padding:2rem}.loading-spinner-container.fullscreen{position:fixed;inset:0;background:#ffffffe6;backdrop-filter:blur(5px);z-index:9999}.spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{border-radius:50%;border-style:solid;border-color:var(--border-color, #e0e0e0);border-top-color:var(--primary-color, #007bff);animation:spin .8s linear infinite}.loading-spinner-container.small .spinner{width:20px;height:20px;border-width:2px}.loading-spinner-container.medium .spinner{width:40px;height:40px;border-width:3px}.loading-spinner-container.large .spinner{width:60px;height:60px;border-width:4px}.loading-message{margin:0;color:var(--text-secondary, #666);font-size:.9rem;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.loading-spinner-container.fullscreen{background:#000000e6}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary-content{background:#fff;border-radius:16px;padding:48px 32px;max-width:600px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000040}.error-icon{font-size:64px;margin-bottom:24px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-title{font-size:32px;font-weight:700;color:#1f2937;margin:0 0 16px}.error-description{font-size:16px;line-height:1.6;color:#6b7280;margin:0 0 32px}.error-details{text-align:left;margin:24px 0;padding:16px;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.error-details summary{cursor:pointer;font-weight:600;color:#374151;margin-bottom:12px}.error-stack{margin-top:12px}.error-stack p{margin:0 0 8px;font-size:14px;color:#4b5563}.error-stack pre{background:#1f2937;color:#f3f4f6;padding:12px;border-radius:6px;overflow-x:auto;font-size:12px;line-height:1.5;margin:0}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:160px}.error-btn-primary{background:#3b82f6;color:#fff}.error-btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 10px 20px #3b82f64d}.error-btn-secondary{background:#f3f4f6;color:#374151}.error-btn-secondary:hover{background:#e5e7eb;transform:translateY(-2px)}.error-warning{margin-top:24px;padding:12px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:14px;font-weight:500}@media (max-width: 768px){.error-boundary-content{padding:32px 20px}.error-icon{font-size:48px}.error-title{font-size:24px}.error-description{font-size:14px}.error-actions{flex-direction:column}.error-btn{width:100%}}@media (prefers-color-scheme: dark){.error-boundary-content{background:#1f2937}.error-title{color:#f3f4f6}.error-description{color:#9ca3af}.error-details{background:#111827;border-color:#374151}.error-details summary{color:#d1d5db}.error-btn-secondary{background:#374151;color:#d1d5db}.error-btn-secondary:hover{background:#4b5563}}.update-prompt-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-prompt{background:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:1rem;min-width:320px;max-width:500px;backdrop-filter:blur(10px)}.update-prompt.needs-refresh{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(139,92,246,.1) 100%)}.update-prompt.offline-ready{border-color:#10b981;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(16,185,129,.1) 100%)}.update-content{display:flex;align-items:center;gap:.75rem;flex:1}.update-icon{font-size:1.5rem;line-height:1}.update-text{display:flex;flex-direction:column;gap:.25rem}.update-text strong{font-size:.95rem;color:var(--text-primary);font-weight:600}.update-description{font-size:.8rem;color:var(--text-muted)}.update-message{font-size:.9rem;color:var(--text-primary);font-weight:500}.update-actions{display:flex;gap:.5rem;align-items:center}.update-btn{padding:.5rem 1rem;border:none;border-radius:var(--border-radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.update-now-btn{background:var(--accent-primary);color:#fff}.update-now-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.dismiss-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.dismiss-btn:hover{background:var(--bg-hover)}@media (max-width: 768px){.update-prompt-container{bottom:70px;left:1rem;right:1rem;transform:none}.update-prompt{min-width:auto;width:100%;flex-direction:column;align-items:stretch;padding:.85rem 1rem}.update-content{flex-direction:column;text-align:center;gap:.5rem}.update-text{align-items:center}.update-actions{width:100%;margin-top:.5rem}.update-btn{flex:1}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}}.toast-container{position:fixed;top:20px;right:20px;z-index:var(--z-toast, 1200);display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:420px}.toast{background:var(--bg-card);border-radius:12px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;padding:16px;display:flex;align-items:flex-start;gap:12px;pointer-events:all;border-left:4px solid;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden;min-width:300px;max-width:420px}@keyframes toastSlideIn{0%{transform:translate(calc(100% + 20px));opacity:0}to{transform:translate(0);opacity:1}}.toast-enter{animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes toastSlideOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(100% + 20px)) scale(.9);opacity:0}}.toast-exit{animation:toastSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--info)}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:4px}.toast-success .toast-icon{background:#22c55e26;color:var(--success)}.toast-error .toast-icon{background:#ef444426;color:var(--error)}.toast-warning .toast-icon{background:#f59e0b26;color:var(--warning)}.toast-info .toast-icon{background:#3b82f626;color:var(--info)}.toast-icon svg{width:16px;height:16px}.toast-content{flex:1;display:flex;flex-direction:column;gap:4px}.toast-title{font-weight:600;font-size:14px;color:var(--text-primary);line-height:1.4}.toast-message{font-size:13px;color:var(--text-secondary);line-height:1.5;word-wrap:break-word}.toast-close{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .2s ease;padding:0}.toast-close:hover{background:#0000001a;color:var(--text-primary)}.toast-close svg{width:14px;height:14px}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;border-radius:0 0 0 12px;animation:toastProgress linear forwards;opacity:.6}.toast-success .toast-progress{color:var(--success)}.toast-error .toast-progress{color:var(--error)}.toast-warning .toast-progress{color:var(--warning)}.toast-info .toast-progress{color:var(--info)}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media (max-width: 768px){.toast-container{inset:auto 20px 90px;max-width:calc(100% - 40px);gap:14px}.toast{min-width:unset;width:100%;padding:18px;border-radius:16px;box-shadow:0 8px 32px #00000040,0 4px 12px #00000026;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.toast-icon{width:28px;height:28px;padding:5px}.toast-icon svg{width:18px;height:18px}.toast-title{font-size:15px}.toast-message{font-size:14px}.toast-close{width:24px;height:24px;border-radius:6px}.toast-close svg{width:16px;height:16px}.toast-progress{height:4px}@keyframes toastSlideIn{0%{transform:translateY(calc(100% + 30px)) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(calc(100% + 30px)) scale(.92);opacity:0}}}@media (max-width: 480px){.toast-container{bottom:85px;left:16px;right:16px;max-width:calc(100% - 32px);gap:12px}.toast{padding:16px;border-radius:14px}.toast-icon{width:26px;height:26px}.toast-title{font-size:14px}.toast-message{font-size:13px}}[data-theme=dark] .toast{background:#1e1e1ef2}[data-theme=light] .toast{background:#fffffffa}.toast:hover{transform:translateY(-2px)}
