@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #eef2ff;--color-secondary: #10b981;--color-accent: #f59e0b;--color-priority-1: #ef4444;--color-priority-2: #f97316;--color-priority-3: #3b82f6;--color-priority-4: #6b7280;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-focus: var(--color-primary);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--sidebar-width: 280px;--sidebar-collapsed-width: 72px;--header-height: 64px;--mobile-nav-height: 64px}[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: #1e1b4b;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--border-light: #334155;--border-medium: #475569;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5)}[data-theme=forest]{--color-primary: #22c55e;--color-primary-hover: #16a34a;--color-primary-light: #052e16;--color-secondary: #84cc16;--color-accent: #facc15;--bg-primary: #0a1f0a;--bg-secondary: #14291a;--bg-tertiary: #1e3b24;--bg-hover: #2a5030;--bg-overlay: rgba(10, 31, 10, .8);--text-primary: #ecfdf5;--text-secondary: #a7f3d0;--text-tertiary: #6ee7b7;--border-light: #1e3b24;--border-medium: #2a5030;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6)}[data-theme=desert]{--color-primary: #f59e0b;--color-primary-hover: #d97706;--color-primary-light: #fef3c7;--color-secondary: #ef4444;--color-accent: #f97316;--bg-primary: #fefce8;--bg-secondary: #fef9c3;--bg-tertiary: #fde68a;--bg-hover: #fcd34d;--bg-overlay: rgba(120, 53, 15, .5);--text-primary: #451a03;--text-secondary: #78350f;--text-tertiary: #a16207;--border-light: #fde68a;--border-medium: #fcd34d;--shadow-sm: 0 1px 2px rgba(120, 53, 15, .1);--shadow-md: 0 4px 6px -1px rgba(120, 53, 15, .15);--shadow-lg: 0 10px 15px -3px rgba(120, 53, 15, .2);--shadow-xl: 0 20px 25px -5px rgba(120, 53, 15, .25)}[data-theme=mountain]{--color-primary: #6b7280;--color-primary-hover: #4b5563;--color-primary-light: #1f2937;--color-secondary: #9ca3af;--color-accent: #60a5fa;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-hover: #4b5563;--bg-overlay: rgba(17, 24, 39, .8);--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-light: #374151;--border-medium: #4b5563;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6)}[data-theme=ocean]{--color-primary: #06b6d4;--color-primary-hover: #0891b2;--color-primary-light: #083344;--color-secondary: #22d3ee;--color-accent: #2dd4bf;--bg-primary: #042f42;--bg-secondary: #0a4566;--bg-tertiary: #0e5a85;--bg-hover: #0284c7;--bg-overlay: rgba(4, 47, 66, .8);--text-primary: #ecfeff;--text-secondary: #a5f3fc;--text-tertiary: #67e8f9;--border-light: #0e5a85;--border-medium: #0284c7;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6)}[data-theme=space]{--color-primary: #a855f7;--color-primary-hover: #9333ea;--color-primary-light: #2e1065;--color-secondary: #c084fc;--color-accent: #f472b6;--bg-primary: #0c0a1d;--bg-secondary: #1a1528;--bg-tertiary: #2d2545;--bg-hover: #4c1d95;--bg-overlay: rgba(12, 10, 29, .9);--text-primary: #faf5ff;--text-secondary: #e9d5ff;--text-tertiary: #c084fc;--border-light: #2d2545;--border-medium: #4c1d95;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 15px -3px rgba(80, 0, 120, .4);--shadow-xl: 0 20px 25px -5px rgba(80, 0, 120, .5)}[data-theme=pokemon]{--color-primary: #ef4444;--color-primary-hover: #dc2626;--color-primary-light: #fee2e2;--color-secondary: #3b82f6;--color-accent: #facc15;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-overlay: rgba(220, 38, 38, .2);--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(239, 68, 68, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(239, 68, 68, .15);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(239, 68, 68, .1)}[data-theme=pacman]{--color-primary: #FFFF00;--color-primary-hover: #E6E600;--color-primary-light: #333300;--color-secondary: #00FFFF;--color-accent: #FF00FF;--bg-primary: #000000;--bg-secondary: #111111;--bg-tertiary: #1919a6;--bg-hover: #333333;--bg-overlay: rgba(0, 0, 0, .9);--text-primary: #FFFFFF;--text-secondary: #CCCCCC;--text-tertiary: #999999;--text-inverse: #000000;--border-light: #1919a6;--border-medium: #0000FF;--shadow-sm: 0 1px 2px rgba(25, 25, 166, .4);--shadow-md: 0 4px 6px -1px rgba(25, 25, 166, .5);--shadow-lg: 0 10px 15px -3px rgba(25, 25, 166, .5);--shadow-xl: 0 20px 25px -5px rgba(25, 25, 166, .6);--font-family: "Courier New", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal),color var(--transition-normal)}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--text-inverse);box-shadow:var(--shadow-md),0 0 #6366f166}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 20px #6366f166}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.checkbox{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--border-medium);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.checkbox:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.checkbox.checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox.checked svg{color:var(--text-inverse)}.priority-indicator{width:4px;height:100%;border-radius:var(--radius-full);flex-shrink:0}.priority-1{background:var(--color-priority-1)}.priority-2{background:var(--color-priority-2)}.priority-3{background:var(--color-priority-3)}.priority-4{background:var(--color-priority-4)}.label{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.glass-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl)}[data-theme=dark] .glass-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-slide-in-up{animation:slideInUp var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-container{display:flex;min-height:100vh;width:100%}.main-content{flex:1;display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.page-content{flex:1;padding:var(--space-8);max-width:900px;width:100%;margin:0 auto}@media(max-width:768px){.main-content{margin-left:0;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px))}.page-content{padding:var(--space-4);padding-bottom:calc(var(--space-8) + var(--mobile-nav-height) + env(safe-area-inset-bottom,0px))}.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary);color:var(--text-inverse)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:1000}.tooltip:hover:after{opacity:1;visibility:visible}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast) ease-out}.modal{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:560px;width:90%;max-height:90vh;overflow:auto;animation:scaleIn var(--transition-normal) ease-out}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--text-tertiary)}.empty-state svg{width:80px;height:80px;margin-bottom:var(--space-6);opacity:.5}.empty-state h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-base);max-width:300px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--space-4);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.mobile-header{display:flex;align-items:center;padding:var(--space-4);background:var(--bg-primary);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:50}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.mobile-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.mobile-header-logo{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-3)}.mobile-header-logo span{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.secret-mode-indicator{position:fixed;top:var(--space-4);right:var(--space-4);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,#6366f1e6,#8b5cf6e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);z-index:99998;animation:secretModeEnter .5s cubic-bezier(.34,1.56,.64,1),secretModePulse 2s ease-in-out infinite;box-shadow:0 4px 20px #6366f166}@keyframes secretModeEnter{0%{opacity:0;transform:scale(.5) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes secretModePulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #6366f166}50%{transform:scale(1.05);box-shadow:0 4px 30px #8b5cf699}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden;padding:var(--space-4)}.auth-bg-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none}.auth-bg-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s ease-in-out infinite}.auth-bg-blob-1{width:600px;height:600px;background:linear-gradient(135deg,#6366f1,#8b5cf6);top:-200px;left:-200px}.auth-bg-blob-2{width:500px;height:500px;background:linear-gradient(135deg,#10b981,#3b82f6);bottom:-150px;right:-150px;animation-delay:-7s}.auth-bg-blob-3{width:400px;height:400px;background:linear-gradient(135deg,#f59e0b,#ef4444);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(20px,30px) scale(1.02)}}[data-theme=dark] .auth-bg-blob{opacity:.3}.auth-container{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-16);max-width:1200px;width:100%}.auth-hero{flex:1;max-width:560px}.auth-hero-content{animation:fadeInUp .6s ease-out}.auth-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.auth-logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);margin-bottom:var(--space-6)}.auth-title-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 50%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-10)}.auth-features{display:flex;flex-direction:column;gap:var(--space-4)}.auth-feature{display:flex;align-items:flex-start;gap:var(--space-4)}.auth-feature-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-lg);flex-shrink:0}.auth-feature-text{display:flex;flex-direction:column;gap:var(--space-1)}.auth-feature-text strong{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.auth-feature-text span{font-size:var(--font-size-sm);color:var(--text-tertiary)}.auth-form-container{flex-shrink:0;width:400px;animation:fadeInUp .6s ease-out .2s backwards}.auth-form{padding:var(--space-10);text-align:center}.auth-form-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.auth-form-subtitle{color:var(--text-secondary);margin-bottom:var(--space-8)}.auth-error{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef44441a;color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-6);background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.auth-google-btn:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.auth-google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.auth-spinner{width:24px;height:24px;border:3px solid var(--border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.auth-divider{display:flex;align-items:center;margin:var(--space-6) 0;color:var(--text-tertiary);font-size:var(--font-size-xs)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.auth-divider span{padding:0 var(--space-4)}.auth-terms{font-size:var(--font-size-xs);color:var(--text-tertiary)}.auth-terms a{color:var(--color-primary)}@media(max-width:968px){.auth-container{flex-direction:column;gap:var(--space-8)}.auth-hero{max-width:100%;text-align:center}.auth-features{align-items:center}.auth-feature{text-align:left}.auth-form-container{width:100%;max-width:400px}}@media(max-width:480px){.auth-page{padding:var(--space-4)}.auth-form{padding:var(--space-6)}.auth-title{font-size:var(--font-size-2xl)}.auth-subtitle{font-size:var(--font-size-base)}}.gamification-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,#6366f11a,#a855f71a);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-xl);margin-bottom:var(--space-6)}.level-badge{display:flex;align-items:center;gap:var(--space-3)}.level-icon{font-size:2.5rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.level-info{display:flex;flex-direction:column}.level-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-number{font-size:var(--font-size-sm);color:var(--text-tertiary)}.xp-section{display:flex;flex-direction:column;gap:var(--space-1)}.xp-header{display:flex;justify-content:space-between;align-items:center}.xp-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.xp-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.xp-bar{height:10px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #6366f180}.xp-next{font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:right}.stats-row{display:flex;justify-content:space-around;gap:var(--space-3)}.stat-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.stat-item:hover{background:#6366f11a}.stat-icon{font-size:1.5rem}.stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-text{font-size:var(--font-size-xs);color:var(--text-tertiary)}.xp-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;animation:xpPopup 1.5s ease-out forwards;pointer-events:none}.xp-amount{font-size:2rem;font-weight:var(--font-weight-bold);color:#10b981;text-shadow:0 2px 10px rgba(16,185,129,.5)}@keyframes xpPopup{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.2)}to{opacity:0;transform:translate(-50%,-100%) scale(1)}}.level-up-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.level-up-content{display:flex;flex-direction:column;align-items:center;text-align:center;animation:levelUpBounce .5s ease-out}.level-up-icon{font-size:6rem;animation:iconPulse 1s infinite}.level-up-title{font-size:2.5rem;font-weight:var(--font-weight-bold);background:linear-gradient(135deg,#fbbf24,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:var(--space-4) 0}.level-up-text{font-size:var(--font-size-xl);color:#fff}.level-up-level{font-size:var(--font-size-lg);color:#ffffffb3;margin-top:var(--space-2)}@keyframes levelUpBounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.achievement-popup{position:fixed;bottom:100px;right:20px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,#1e1e2e,#2d2d44);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-xl);box-shadow:0 10px 40px #0006;z-index:9999;animation:slideInRight .5s ease,slideOutRight .5s ease 3.5s forwards}.achievement-popup-icon{font-size:2.5rem}.achievement-popup-content{display:flex;flex-direction:column}.achievement-popup-label{font-size:var(--font-size-xs);color:#a855f7;text-transform:uppercase;letter-spacing:.1em}.achievement-popup-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.achievements-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease;padding:var(--space-4)}.achievements-modal{width:100%;max-width:500px;max-height:80vh;background:var(--bg-secondary);border-radius:var(--radius-xl);overflow:hidden;animation:scaleIn .3s ease}.achievements-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light)}.achievements-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding:var(--space-4);overflow-y:auto;max-height:calc(80vh - 80px)}.achievement-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.achievement-card.unlocked{background:linear-gradient(135deg,#a855f71a,#6366f11a);border-color:#a855f74d}.achievement-card.locked{opacity:.5}.achievement-card.locked .achievement-icon{filter:grayscale(1)}.achievement-icon{font-size:2rem;margin-bottom:var(--space-2)}.achievement-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.achievement-desc{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.achievement-check{position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border-radius:var(--radius-full);font-size:12px;font-weight:700}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.gamification-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#a855f71a,#6366f11a);border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.gamification-toggle:hover{background:linear-gradient(135deg,#a855f733,#6366f133)}.gamification-toggle.active{border-color:#a855f7;color:#a855f7}.gamification-toggle-icon{font-size:1.2rem}@media(max-width:768px){.gamification-panel{padding:var(--space-3);gap:var(--space-3)}.level-icon{font-size:2rem}.xp-value{font-size:var(--font-size-base)}.achievement-popup{left:20px;right:20px;bottom:80px}.achievements-grid{grid-template-columns:1fr}}.theme-selector{position:relative;width:100%;margin-bottom:var(--space-4)}.theme-selector-trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-light);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.theme-selector-trigger:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-mascot-icon{font-size:1.75rem;line-height:1}.theme-trigger-content{flex:1;display:flex;flex-direction:column;text-align:left}.theme-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary)}.theme-mascot-name{font-size:var(--font-size-xs);color:var(--text-tertiary)}.chevron{transition:transform var(--transition-fast);color:var(--text-tertiary)}.chevron.open{transform:rotate(180deg)}.mascot-greeting{position:absolute;top:calc(100% + var(--space-2));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-primary);border:2px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:30;animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55),fadeOut .3s ease 1.7s forwards;white-space:nowrap}.mascot-greeting-emoji{font-size:1.5rem}.mascot-greeting-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(3deg)}75%{transform:translateY(3px) rotate(-3deg)}}@keyframes popIn{0%{transform:translate(-50%) scale(0);opacity:0}50%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(-50%) translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes sparkle{0%,to{opacity:1}50%{opacity:.5}}.bounce{animation:bounce 1s ease-in-out infinite}.wiggle{animation:wiggle .5s ease-in-out infinite}.float{animation:float 2s ease-in-out infinite}.sparkles{animation:sparkle 1.5s ease-in-out infinite}.theme-backdrop{position:fixed;inset:0;z-index:10}.theme-dropdown{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:20;overflow:hidden;animation:dropdownSlide .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-dropdown-header{padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--bg-tertiary) 100%);border-bottom:1px solid var(--border-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center}.theme-dropdown-footer{padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);border-top:1px solid var(--border-light);font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:center}.theme-options{display:flex;flex-direction:column;max-height:350px;overflow-y:auto}.theme-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left}.theme-option:hover{background:var(--bg-hover);padding-left:var(--space-5)}.theme-option:hover .mascot-emoji{animation:wiggle .3s ease-in-out}.theme-option.active{background:linear-gradient(90deg,var(--color-primary-light) 0%,transparent 100%);border-left:3px solid var(--color-primary)}.theme-option-mascot{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.mascot-emoji{font-size:1.5rem}.theme-option-info{flex:1;display:flex;flex-direction:column}.theme-option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.theme-option-desc{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.theme-check-wrap{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:var(--radius-full);animation:pulse 1s ease infinite}.theme-check{color:#fff;flex-shrink:0}.theme-preferences{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-2)}.preference-item{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);color:var(--text-primary)}.preference-toggle{width:44px;height:24px;background:var(--bg-hover);border-radius:var(--radius-full);position:relative;cursor:pointer;transition:background .2s;border:none}.preference-toggle.active{background:var(--color-primary)}.toggle-handle{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:var(--shadow-sm)}.preference-toggle.active .toggle-handle{transform:translate(20px)}.preference-status{font-size:var(--font-size-xs);color:var(--color-success);font-weight:var(--font-weight-medium)}.theme-forest .theme-selector-trigger{background:linear-gradient(135deg,#0a1f0a,#14291a);border-color:#22c55e40}.theme-desert .theme-selector-trigger{background:linear-gradient(135deg,#fef9c3,#fde68a);border-color:#f59e0b40}.theme-mountain .theme-selector-trigger{background:linear-gradient(135deg,#1f2937,#374151);border-color:#6b728040}.theme-ocean .theme-selector-trigger{background:linear-gradient(135deg,#0a4566,#0e5a85);border-color:#06b6d440}.theme-space .theme-selector-trigger{background:linear-gradient(135deg,#1a1528,#2d2545);border-color:#a855f740}@media(max-width:768px){.theme-dropdown{max-height:70vh}.theme-option-mascot{width:36px;height:36px}.mascot-emoji{font-size:1.25rem}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition-normal),width var(--transition-normal)}.sidebar-closed{width:var(--sidebar-collapsed-width)}.sidebar-closed .sidebar-logo-text,.sidebar-closed .sidebar-user-info,.sidebar-closed .sidebar-nav-label,.sidebar-closed .sidebar-nav-count,.sidebar-closed .sidebar-section-title,.sidebar-closed .sidebar-labels,.sidebar-closed .sidebar-footer-btn span,.sidebar-closed .sidebar-overdue-alert span:last-child{display:none}.sidebar-closed .sidebar-user{justify-content:center}.sidebar-closed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:99;animation:fadeIn var(--transition-fast)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-light)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3)}.sidebar-logo svg{width:32px;height:32px;flex-shrink:0}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-toggle svg{transition:transform var(--transition-normal)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-4)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.sidebar-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-user-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-actions{display:flex;gap:var(--space-1);flex-shrink:0}.user-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.user-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.user-action-btn.logout-btn:hover{background:#ef44441a;color:var(--color-danger)}.sidebar-overdue-alert{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ef44441a;color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.overdue-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section-title{display:block;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-lg);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav-label{flex:1;font-weight:var(--font-weight-medium)}.sidebar-nav-count{min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full)}.sidebar-nav-item.active .sidebar-nav-count{background:var(--color-primary);color:#fff}.sidebar-labels{margin-top:var(--space-6)}.sidebar-section-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-section-header:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-section-header svg{width:14px;height:14px}.expand-icon{margin-left:auto;transition:transform var(--transition-fast)}.expand-icon.expanded{transform:rotate(-90deg)}.sidebar-labels-list{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2);animation:fadeIn var(--transition-fast)}.sidebar-label-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);padding-left:var(--space-6);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left}.sidebar-label-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-label-item.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-label-color{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.sidebar-label-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sidebar-add-label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-left:var(--space-6);color:var(--text-tertiary);font-size:var(--font-size-sm);transition:all var(--transition-fast);text-align:left}.sidebar-add-label:hover{color:var(--color-primary)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-footer-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-align:left}.sidebar-footer-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-logout-btn:hover{background:#ef44441a;color:var(--color-danger)}.sidebar-bmc-btn{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-lg);background:#fd0;color:#000;font-weight:var(--font-weight-bold);transition:all var(--transition-fast);text-decoration:none}.sidebar-bmc-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.sidebar-closed .sidebar-bmc-btn .sidebar-nav-label{display:none}.sidebar-closed .sidebar-bmc-btn{justify-content:center;padding:var(--space-3)}@media(max-width:768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width);box-shadow:var(--shadow-xl);max-height:100vh;overflow-y:auto}.sidebar.sidebar-open{transform:translate(0)}.sidebar-content{flex:1 1 auto;overflow-y:visible;min-height:auto}.sidebar-footer{flex-shrink:0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));margin-bottom:0;position:sticky;bottom:0;background:var(--bg-secondary);border-top:1px solid var(--border-light);z-index:10}.sidebar-closed .sidebar-logo-text,.sidebar-closed .sidebar-user-info,.sidebar-closed .sidebar-nav-label,.sidebar-closed .sidebar-nav-count,.sidebar-closed .sidebar-section-title,.sidebar-closed .sidebar-labels,.sidebar-closed .sidebar-footer-btn span{display:block}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--bg-primary);border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;height:100%;color:var(--text-tertiary);transition:all var(--transition-fast)}.mobile-nav-item.active{color:var(--color-primary)}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-icon{position:relative;display:flex;align-items:center;justify-content:center}.mobile-nav-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);padding:0 4px}.mobile-nav-label{font-size:10px;font-weight:var(--font-weight-medium)}.mobile-nav-add{flex:none;width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff!important;margin-top:-20px;box-shadow:0 4px 15px #6366f166;transition:all var(--transition-fast)}.mobile-nav-add:active{transform:scale(.9);box-shadow:0 2px 10px #6366f14d}.mobile-nav-add .mobile-nav-label{display:none}.mobile-nav-add .mobile-nav-icon svg{width:28px;height:28px}.confetti-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:99999}.celebration-overlay{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1f2,#8b5cf6f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:overlayEnter .5s cubic-bezier(.34,1.56,.64,1)}.celebration-overlay.exit{animation:overlayExit .5s ease-out forwards}@keyframes overlayEnter{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes overlayExit{to{opacity:0;transform:scale(.95)}}.celebration-overlay.level-up{background:linear-gradient(135deg,#f59e0bf2,#fbbf24f2)}.celebration-overlay.streak{background:linear-gradient(135deg,#ef4444f2,#f97316f2)}.celebration-overlay.all-complete{background:linear-gradient(135deg,#10b981f2,#34d399f2)}.celebration-overlay.achievement{background:linear-gradient(135deg,#6366f1f2,#a78bfaf2)}.celebration-overlay.epic{background:linear-gradient(135deg,#ec4899f2,#8b5cf6f2,#3b82f6f2);background-size:200% 200%;animation:overlayEnter .5s cubic-bezier(.34,1.56,.64,1),epicGradient 3s ease infinite}@keyframes epicGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.celebration-overlay.ralph-mode{background:linear-gradient(135deg,#ffb74df2,#ff8a65f2)}.celebration-content{text-align:center;position:relative;padding:var(--space-8)}.celebration-emoji{font-size:8rem;line-height:1;margin-bottom:var(--space-6);animation:emojiPop .6s cubic-bezier(.34,1.56,.64,1) .2s backwards,emojiFloat 2s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}@keyframes emojiPop{0%{transform:scale(0) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes emojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.celebration-title{font-size:3.5rem;font-weight:800;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.3);margin-bottom:var(--space-3);letter-spacing:.05em;animation:titleSlide .5s ease-out .3s backwards}@keyframes titleSlide{0%{opacity:0;transform:translateY(30px)}}.celebration-subtitle{font-size:1.5rem;color:#ffffffe6;margin-bottom:var(--space-6);animation:titleSlide .5s ease-out .4s backwards}.celebration-quote{font-size:1.25rem;color:#ffffffd9;font-style:italic;max-width:400px;margin:0 auto;animation:titleSlide .5s ease-out .5s backwards}.celebration-particles{position:absolute;inset:0;pointer-events:none}.particle{position:absolute;font-size:2rem;top:50%;left:50%;animation:particleOrbit 3s ease-in-out infinite;animation-delay:var(--delay)}@keyframes particleOrbit{0%,to{transform:rotate(var(--angle)) translate(150px) rotate(calc(-1 * var(--angle)));opacity:1}50%{transform:rotate(calc(var(--angle) + 180deg)) translate(180px) rotate(calc(-1 * var(--angle) - 180deg));opacity:.6}}.celebration-close{position:absolute;bottom:var(--space-8);padding:var(--space-4) var(--space-8);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:#fff;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;animation:titleSlide .5s ease-out .6s backwards}.celebration-close:hover{background:#ffffff4d;transform:scale(1.05)}.ralph-mode .celebration-title{font-family:Comic Sans MS,cursive,sans-serif}.ralph-mode .celebration-emoji{animation:emojiPop .6s cubic-bezier(.34,1.56,.64,1) .2s backwards,emojiWobble .5s ease-in-out infinite}@keyframes emojiWobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@media(max-width:768px){.celebration-emoji{font-size:5rem}.celebration-title{font-size:2rem}.celebration-subtitle{font-size:1.125rem}.celebration-quote{font-size:1rem}}.ambient-background{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-particle{position:absolute;opacity:.15;animation:floatAround 15s ease-in-out infinite}@keyframes floatAround{0%,to{transform:translate(0) rotate(0);opacity:.1}25%{transform:translate(20px,-30px) rotate(90deg);opacity:.2}50%{transform:translate(-10px,20px) rotate(180deg);opacity:.15}75%{transform:translate(30px,10px) rotate(270deg);opacity:.2}}.space-particles .ambient-particle{animation:twinkle 3s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.1;transform:scale(.8)}to{opacity:.3;transform:scale(1.2)}}.shooting-star-container{position:absolute;width:100%;height:100%;overflow:hidden}.shooting-star{position:absolute;top:10%;right:-50px;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 10px 2px #fffc,0 0 30px 5px #fff6;animation:shootingStar 8s ease-in-out infinite}.shooting-star:after{content:"";position:absolute;top:50%;right:100%;width:80px;height:2px;background:linear-gradient(to left,white,transparent);transform:translateY(-50%)}@keyframes shootingStar{0%,90%,to{transform:translate(0);opacity:0}5%{opacity:1}30%{transform:translate(-100vw,50vh);opacity:0}}.wave-container{position:absolute;bottom:0;left:0;right:0;height:150px;overflow:hidden}.wave{position:absolute;bottom:0;left:-100%;width:300%;height:100%;background:linear-gradient(transparent,#06b6d41a);border-radius:100% 100% 0 0;animation:wave 8s ease-in-out infinite}.wave-2{animation-delay:-4s;opacity:.5}@keyframes wave{0%,to{transform:translate(0)}50%{transform:translate(33%)}}.fireflies-container{position:absolute;inset:0}.firefly{position:absolute;width:8px;height:8px;background:radial-gradient(circle,#ffeb3b 0%,transparent 70%);border-radius:50%;animation:fireflyGlow 3s ease-in-out infinite alternate,fireflyFloat 6s ease-in-out infinite}@keyframes fireflyGlow{0%{opacity:.1;transform:scale(.8)}to{opacity:.6;transform:scale(1.2)}}@keyframes fireflyFloat{0%,to{transform:translate(0)}25%{transform:translate(20px,-15px)}50%{transform:translate(-10px,10px)}75%{transform:translate(15px,5px)}}.disco-mode{background:transparent;transition:background-color .2s ease;opacity:.15}.disco-emoji{position:absolute;animation:discoFloat 3s ease-in-out infinite,discoPulse .5s ease-in-out infinite alternate}@keyframes discoFloat{0%,to{transform:translateY(100vh)}50%{transform:translateY(-100%)}}@keyframes discoPulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.pokemon-particles .ambient-particle{opacity:.2;animation:pokeBounce 2s ease-in-out infinite}@keyframes pokeBounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(180deg)}}.pacman-particles .ambient-particle{opacity:.15}.mountain-particles .ambient-particle{animation:snowfall 10s linear infinite}@keyframes snowfall{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(360deg)}}.desert-particles .ambient-particle{animation:sandDrift 15s ease-in-out infinite}@keyframes sandDrift{0%,to{transform:translate(0)}50%{transform:translate(100px,20px)}}.quick-add-container{margin-bottom:var(--space-6)}.quick-add{background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-fast)}.quick-add:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.quick-add-input-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.quick-add-icon{display:flex;align-items:center;color:var(--color-primary);flex-shrink:0}.quick-add-input{flex:1;border:none;background:transparent;font-size:var(--font-size-base);color:var(--text-primary);padding:var(--space-2) 0}.quick-add-input:focus{outline:none;box-shadow:none}.quick-add-input::placeholder{color:var(--text-tertiary)}.quick-add-submit{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast)}.quick-add-submit:hover:not(:disabled){background:var(--color-primary-hover)}.quick-add-submit:disabled{opacity:.5;cursor:not-allowed}.quick-add-preview{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-top:1px solid var(--border-light);font-size:var(--font-size-sm)}.preview-label{color:var(--text-tertiary)}.preview-title{color:var(--text-primary);font-weight:var(--font-weight-medium)}.preview-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--text-secondary)}.preview-date{color:var(--color-primary);background:var(--color-primary-light)}.priority-high{background:#ef44441a;color:var(--color-priority-1)}.priority-medium{background:#f973161a;color:var(--color-priority-2)}.priority-low{background:#3b82f61a;color:var(--color-priority-3)}.quick-add-help{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--font-size-xs);color:var(--text-tertiary)}.quick-add-help code{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:11px}@media(max-width:768px){.quick-add-help{display:none}}.task-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);animation:fadeInUp .3s ease-out}.task-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.task-item.completed{opacity:.7}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-item .priority-indicator{width:3px;min-height:40px;align-self:stretch;border-radius:var(--radius-full);flex-shrink:0}.task-checkbox{width:22px;height:22px;border:2px solid var(--border-medium);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);margin-top:2px}.task-checkbox:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.task-checkbox.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.task-content{flex:1;min-width:0}.task-header{display:flex;align-items:flex-start;gap:var(--space-2)}.task-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.4;word-break:break-word}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.task-due-date,.task-subtasks-count,.task-recurring{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-tertiary)}.task-due-date.today{color:var(--color-primary)}.task-due-date.overdue{color:var(--color-danger)}.task-labels{display:flex;flex-wrap:wrap;gap:var(--space-1)}.task-label{padding:2px 8px;font-size:11px;font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.task-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.task-actions.visible{opacity:1}.task-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast)}.task-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.task-action-btn.active{color:var(--color-accent)}.task-action-btn.delete:hover{background:#ef44441a;color:var(--color-danger)}@media(max-width:768px){.task-actions{opacity:1}}.task-list{display:flex;flex-direction:column;gap:var(--space-2)}.task-section-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.task-section.completed{opacity:.8}.task-modal{max-width:520px;width:95%;max-height:85vh;display:flex;flex-direction:column}.task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light)}.modal-myday-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.modal-myday-btn:hover{background:var(--bg-hover)}.modal-myday-btn.active{color:var(--color-accent);background:#f59e0b1a}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast)}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.task-modal-content{flex:1;overflow-y:auto;padding:var(--space-6)}.task-modal-title{width:100%;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);border:none;background:transparent;padding:0;margin-bottom:var(--space-4)}.task-modal-title:focus{outline:none;box-shadow:none}.task-modal-description{width:100%;font-size:var(--font-size-base);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-6);resize:vertical;min-height:80px}.task-modal-properties{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.task-property{display:flex;flex-direction:column;gap:var(--space-2)}.task-property-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.task-property-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.priority-options{display:flex;gap:var(--space-2)}.priority-option{flex:1;padding:var(--space-2) var(--space-3);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-fast)}.priority-option:hover{border-color:var(--priority-color);color:var(--priority-color)}.priority-option.selected{border-color:var(--priority-color);background:color-mix(in srgb,var(--priority-color) 10%,transparent);color:var(--priority-color)}.label-picker-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.label-picker-trigger:hover{border-color:var(--border-medium)}.selected-labels{display:flex;align-items:center;gap:var(--space-1)}.selected-label{width:12px;height:12px;border-radius:var(--radius-full)}.label-picker{margin-top:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-2);animation:fadeIn var(--transition-fast)}.label-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary);text-align:left;transition:all var(--transition-fast)}.label-option:hover{background:var(--bg-hover)}.label-option.selected{background:var(--color-primary-light)}.label-option svg{margin-left:auto;color:var(--color-primary)}.label-color{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.label-create{display:flex;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-light)}.label-create input{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.label-create button{padding:var(--space-2) var(--space-3);background:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md)}.task-modal-subtasks{border-top:1px solid var(--border-light);padding-top:var(--space-4)}.subtasks-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.subtasks-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.subtask-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-md)}.subtask-checkbox{width:18px;height:18px;border:2px solid var(--border-medium);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.subtask-checkbox.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.subtask-title{flex:1;font-size:var(--font-size-sm)}.subtask-title.completed{text-decoration:line-through;color:var(--text-tertiary)}.subtask-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-tertiary);opacity:0;transition:all var(--transition-fast)}.subtask-item:hover .subtask-delete{opacity:1}.subtask-delete:hover{background:#ef44441a;color:var(--color-danger)}.subtask-add{display:flex;gap:var(--space-2)}.subtask-add input{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.subtask-add button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.subtask-add button:hover:not(:disabled){background:var(--color-primary);color:#fff}.subtask-add button:disabled{opacity:.5}.task-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light)}.modal-footer-actions{display:flex;gap:var(--space-2)}.schedule-controls{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light)}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:32px}.reminder-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none}.reminder-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.task-property-input.date-input{width:100%}.task-property-input.time-input{width:120px}@media(max-width:480px){.task-modal{max-height:100vh;height:100vh;border-radius:0;width:100%}.task-modal-content{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}.priority-options{flex-wrap:wrap}.priority-option{flex:1 1 45%}}.view-container{animation:fadeIn var(--transition-normal)}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.view-header-content{flex:1}.view-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.view-subtitle{font-size:var(--font-size-base);color:var(--text-tertiary)}.view-header-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-xl);flex-shrink:0}.myday-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.important-icon{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.upcoming-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.all-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.completed-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.label-icon{border-radius:var(--radius-xl)}[data-theme=dark] .myday-icon,[data-theme=dark] .important-icon,[data-theme=dark] .upcoming-icon,[data-theme=dark] .all-icon,[data-theme=dark] .completed-icon{opacity:.9}.view-search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6);transition:all var(--transition-fast)}.view-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.view-search svg{flex-shrink:0;color:var(--text-tertiary)}.view-search-input{flex:1;border:none;background:transparent;font-size:var(--font-size-base);color:var(--text-primary);padding:0}.view-search-input:focus{outline:none;box-shadow:none}.view-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);color:var(--text-tertiary);transition:all var(--transition-fast)}.view-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.task-section{margin-bottom:var(--space-6)}.task-section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.task-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.task-section-count{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.task-section.overdue .task-section-title{color:var(--color-danger)}.task-section.overdue .task-section-count{background:#ef44441a;color:var(--color-danger)}.label-filters{margin-bottom:var(--space-4)}.label-filters-title{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-right:var(--space-2)}.label-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-2)}.label-filter-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);transition:all var(--transition-fast)}.label-filter-chip:hover{border-color:var(--label-color);color:var(--label-color)}.label-filter-chip.active{font-weight:var(--font-weight-medium)}.label-chip-dot{width:10px;height:10px;border-radius:var(--radius-full)}.clear-filters-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-primary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.clear-filters-btn:hover{background:var(--color-primary-light)}@media(max-width:768px){.view-title{font-size:var(--font-size-2xl)}.view-header-icon{width:48px;height:48px}.view-header-icon svg{width:24px;height:24px}.label-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-2)}.label-filter-chip{flex-shrink:0}}.label-create-card{margin-bottom:var(--space-6)}.label-create-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.label-create-form{display:flex;flex-direction:column;gap:var(--space-4)}.label-form-row{display:flex;gap:var(--space-3);align-items:center}.label-name-input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base)}.label-color-picker{display:flex;align-items:center;gap:var(--space-2);position:relative}.label-color-input{width:0;height:0;opacity:0;position:absolute}.label-color-preview{width:40px;height:40px;border-radius:var(--radius-md);border:2px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast)}.label-color-preview:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.predefined-colors{display:flex;flex-wrap:wrap;gap:var(--space-2)}.color-swatch{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-swatch:hover{transform:scale(1.15);box-shadow:var(--shadow-md)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px currentColor}.labels-list{display:flex;flex-direction:column;gap:var(--space-3)}.label-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);transition:all var(--transition-fast)}.label-item:hover{box-shadow:var(--shadow-md)}.label-info{display:flex;align-items:center;gap:var(--space-3);flex:1}.label-color-dot{width:20px;height:20px;border-radius:var(--radius-full);flex-shrink:0}.label-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.label-actions{display:flex;align-items:center;gap:var(--space-2)}.label-color-picker-inline{position:relative}.label-color-input-small{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer}.delete-btn:hover{color:var(--color-danger);background:#ef44441a}.label-edit-form{flex:1}.label-edit-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);border:2px solid var(--color-primary);border-radius:var(--radius-md)}.label-tip{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-lg);margin-top:var(--space-6);color:var(--text-secondary)}.label-tip svg{flex-shrink:0;color:var(--color-primary)}.label-tip code{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-family:Monaco,Courier New,monospace;font-size:var(--font-size-sm)}@media(max-width:768px){.label-form-row{flex-wrap:wrap}.label-name-input{width:100%}.predefined-colors{justify-content:center}}.month-navigator{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition-fast)}.month-nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed}.month-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:150px;text-align:center}.summary-icon{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#9333ea}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-light);transition:all var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);flex-shrink:0}.stat-total .stat-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4f46e5}.stat-open .stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.stat-completed .stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.stat-rate .stat-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.progress-section{margin-bottom:var(--space-8)}.section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-4)}.progress-bar-container{width:100%;height:12px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:var(--radius-full);transition:width .5s ease}.progress-labels{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--text-tertiary)}.breakdown-section{margin-bottom:var(--space-8);padding:var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.priority-bars{display:flex;flex-direction:column;gap:var(--space-3)}.priority-bar-row{display:flex;align-items:center;gap:var(--space-3)}.priority-label{width:60px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.priority-bar-track{flex:1;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.priority-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .5s ease}.priority-count{width:30px;font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:right}.label-stats{display:flex;flex-wrap:wrap;gap:var(--space-3)}.label-stat-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.label-stat-color{width:12px;height:12px;border-radius:var(--radius-full)}.label-stat-name{font-size:var(--font-size-sm);color:var(--text-secondary)}.label-stat-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.task-list-section{margin-bottom:var(--space-8)}.summary-task-list{display:flex;flex-direction:column;gap:var(--space-2)}.summary-task-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.priority-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.priority-dot.priority-1{background:#ef4444}.priority-dot.priority-2{background:#f59e0b}.priority-dot.priority-3{background:#3b82f6}.priority-dot.priority-4{background:#d1d5db}.summary-task-item .task-title{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.summary-task-item .task-due{font-size:var(--font-size-xs);color:var(--text-tertiary)}.more-tasks{font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center;padding:var(--space-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-tertiary);text-align:center}.empty-state svg{opacity:.5;margin-bottom:var(--space-4)}.empty-state p{font-size:var(--font-size-lg)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-card{padding:var(--space-4);flex-direction:column;text-align:center}.stat-icon{width:40px;height:40px}.stat-value{font-size:var(--font-size-xl)}.month-label{min-width:120px;font-size:var(--font-size-base)}.priority-label{width:50px;font-size:var(--font-size-xs)}.label-stats{flex-direction:column}}.calendar-view{padding:var(--space-6);max-width:1200px;margin:0 auto}.calendar-header{margin-bottom:var(--space-6)}.calendar-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.calendar-subtitle{color:var(--text-tertiary);font-size:var(--font-size-base)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.month-display{display:flex;align-items:center;gap:var(--space-4)}.month-display h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.today-btn{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.today-btn:hover{background:var(--color-primary-hover)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden}.calendar-weekday{padding:var(--space-3);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--bg-tertiary)}.calendar-day{height:120px;padding:var(--space-2);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.calendar-day:hover{background:var(--bg-secondary)}.calendar-day.other-month{background:var(--bg-tertiary);opacity:.5}.calendar-day.today{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--bg-primary) 100%)}.calendar-day.today .day-number{background:var(--color-primary);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--color-primary)}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.day-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.add-task-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-tertiary);font-size:14px;opacity:0;transition:all var(--transition-fast)}.calendar-day:hover .add-task-btn{opacity:1}.add-task-btn:hover{background:var(--color-primary);color:#fff}.day-tasks{display:flex;flex-direction:column;gap:var(--space-1)}.calendar-task{padding:var(--space-1) var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--color-priority-4);font-size:var(--font-size-xs);white-space:normal;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.calendar-task:hover{background:var(--bg-hover);transform:translate(2px)}.calendar-task .task-title{color:var(--text-primary)}.more-tasks{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:var(--space-1);text-align:center}.selected-date-panel{position:fixed;right:var(--space-6);top:50%;transform:translateY(-50%);width:320px;max-height:80vh;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;z-index:1000;animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border-light);background:var(--bg-tertiary)}.panel-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.close-panel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.25rem;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.close-panel:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-tasks{padding:var(--space-4);max-height:400px;overflow-y:auto}.no-tasks{text-align:center;padding:var(--space-8)}.no-tasks span{font-size:3rem;display:block;margin-bottom:var(--space-4)}.no-tasks p{color:var(--text-secondary);margin-bottom:var(--space-4)}.panel-task-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.panel-task-item:hover{background:var(--bg-hover)}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.panel-task-item .task-title{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.task-labels-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.add-task-panel-btn{display:block;width:calc(100% - var(--space-8));margin:var(--space-4);padding:var(--space-3);background:var(--bg-primary);border:1px dashed var(--border-medium);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.add-task-panel-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.quick-add-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.quick-add-modal{width:90%;max-width:500px;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border-light)}.modal-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-header button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.modal-header button:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:1024px){.selected-date-panel{position:fixed;inset:auto 0 0;transform:none;width:100%;max-height:50vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@media(max-width:768px){.calendar-view{padding:var(--space-4)}.calendar-nav{padding:var(--space-3)}.month-display h2{font-size:var(--font-size-lg)}.calendar-day{min-height:70px;padding:var(--space-1)}.day-number{font-size:var(--font-size-xs)}.calendar-task{font-size:9px;padding:2px 4px;border-left-width:2px}.calendar-task .task-title{display:block;overflow:hidden;text-overflow:ellipsis;max-width:100%}.calendar-weekday{font-size:var(--font-size-xs);padding:var(--space-2)}.day-tasks{gap:2px}.calendar-task:nth-child(n+3){display:none}.more-tasks{font-size:9px;padding:2px}}@media(max-width:480px){.calendar-day{height:55px}.day-tasks{flex-direction:row;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;margin-top:var(--space-1)}.calendar-task{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%;border:none;background:var(--color-primary)}.calendar-task .task-title{display:none}.calendar-task[style*=priority-1]{background:var(--color-priority-1)}.calendar-task[style*=priority-2]{background:var(--color-priority-2)}.calendar-task[style*=priority-3]{background:var(--color-priority-3)}.more-tasks{font-size:8px;padding:0;width:100%}.add-task-btn{opacity:1;width:16px;height:16px;font-size:12px}}
