:root{--bg-primary:#07111f;--bg-secondary:#0b1724;--bg-card:#ffffff0d;--bg-card-hover:#ffffff14;--bg-glass:#ffffff0a;--border-glass:#ffffff1a;--border-subtle:#ffffff0f;--violet:#0891b2;--violet-light:#22d3ee;--violet-dark:#155e75;--violet-glow:#0891b259;--teal:#f59e0b;--teal-light:#fbbf24;--teal-dark:#b45309;--teal-glow:#f59e0b4d;--pink:#fb7185;--orange:#f97316;--yellow:#facc15;--red:#ef4444;--red-glow:#ef44444d;--text-primary:#e6f7ff;--text-secondary:#e6f7ff99;--text-muted:#e6f7ff59;--text-on-violet:#fff;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-violet:0 4px 24px var(--violet-glow);--shadow-teal:0 4px 24px var(--teal-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--font:"Inter", system-ui, -apple-system, sans-serif;--nav-height:72px;--header-height:60px;--max-width:430px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);background-color:var(--bg-primary);color:var(--text-primary);min-height:100dvh;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7c3aed66;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--violet)}h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.2}h2{letter-spacing:-.02em;font-size:1.35rem;font-weight:700}h3{font-size:1.1rem;font-weight:600}h4{font-size:.95rem;font-weight:600}p{font-size:.9375rem}small{font-size:.8125rem}.app-shell{width:100%;max-width:var(--max-width);background:var(--bg-primary);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.page-content{padding-bottom:calc(var(--nav-height) + 16px);padding-top:var(--header-height);flex:1;overflow-y:auto}.page-inner{padding:16px}.app-header{width:100%;max-width:var(--max-width);height:var(--header-height);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass);z-index:100;background:#07111fd9;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.header-title{background:linear-gradient(135deg, var(--violet-light), var(--teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.header-action{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.header-action:hover{color:var(--text-primary);background:var(--bg-card-hover)}.bottom-nav{width:100%;max-width:var(--max-width);height:var(--nav-height);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border-glass);z-index:100;background:#07111fe6;justify-content:space-around;align-items:center;padding:0 8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;color:var(--text-muted);font-family:var(--font);letter-spacing:.02em;border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.6875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item.active{color:var(--violet-light)}.nav-item svg{flex-shrink:0;width:22px;height:22px}.nav-item.active .nav-icon-wrapper{background:var(--violet-glow);border-radius:var(--radius-sm)}.nav-icon-wrapper{border-radius:var(--radius-sm);transition:background var(--transition-fast);padding:4px 12px}.nav-badge{background:var(--pink);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:4px;right:calc(50% - 22px)}.card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:16px}.card:active{transform:scale(.985)}.card.clickable{cursor:pointer}.card.clickable:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-md)}.card-glass{background:var(--bg-glass);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg)}.reminder-card{flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.reminder-card-accent{border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.reminder-card-inner{padding-left:12px}.reminder-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.reminder-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.3}.reminder-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:.8125rem;display:-webkit-box;overflow:hidden}.reminder-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.reminder-date{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.reminder-actions{opacity:0;transition:opacity var(--transition-fast);gap:6px;display:flex}.reminder-card:hover .reminder-actions,.reminder-card:focus-within .reminder-actions{opacity:1}.badge{border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:4px;padding:3px 8px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-low{color:var(--teal);background:#06d6a026}.badge-medium{color:var(--orange);background:#fb850026}.badge-high{color:var(--red);background:#ef444426}.badge-shared{color:var(--pink);background:#f7258526}.badge-category{color:var(--violet-light);background:#7c3aed26}.btn{font-family:var(--font);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--violet), var(--violet-dark));color:#fff;box-shadow:var(--shadow-violet);padding:14px 24px}.btn-primary:hover{background:linear-gradient(135deg, var(--violet-light), var(--violet))}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-glass);padding:12px 20px}.btn-secondary:hover{background:var(--bg-card-hover)}.btn-teal{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#07111f;box-shadow:var(--shadow-teal);padding:14px 24px}.btn-teal:hover{background:linear-gradient(135deg, var(--teal-light), var(--teal))}.btn-ghost{color:var(--text-secondary);background:0 0;padding:10px 16px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-card)}.btn-icon{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:36px;height:36px;padding:8px}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-danger{color:var(--red);background:#ef444426;border:1px solid #ef444433;padding:10px 16px}.btn-danger:hover{background:#ef444440}.btn-sm{border-radius:var(--radius-sm);padding:8px 14px;font-size:.8125rem}.btn-full{width:100%}.fab{bottom:calc(var(--nav-height) + 16px);right:calc(50% - var(--max-width)/2 + 16px);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--violet), var(--violet-dark));color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-violet), var(--shadow-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast);z-index:99;border:none;justify-content:center;align-items:center;display:flex;position:fixed}.fab:hover{box-shadow:0 8px 32px var(--violet-glow);transform:scale(1.08)}.fab:active{transform:scale(.95)}@media (width<=430px){.fab{right:16px}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.8125rem;font-weight:600}.form-input,.form-textarea,.form-select{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);-webkit-appearance:none;outline:none;width:100%;padding:12px 14px;font-size:.9375rem}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-glow)}.form-select option{background-color:var(--bg-primary);color:var(--text-primary)}.form-input.error,.form-textarea.error{border-color:var(--red)}.form-error{color:var(--red);align-items:center;gap:4px;font-size:.75rem;display:flex}input[type=datetime-local],input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;background:#000000b3;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg-secondary);border-top:1px solid var(--border-glass);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:var(--max-width);flex-direction:column;gap:20px;max-height:92dvh;padding:24px 20px 40px;display:flex;overflow-y:auto}.modal-handle{background:var(--border-glass);border-radius:var(--radius-full);width:36px;height:4px;margin:0 auto -8px}.modal-title{font-size:1.2rem;font-weight:700}.color-picker{flex-wrap:wrap;gap:10px;display:flex}.color-dot{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #0000}.color-dot:hover{transform:scale(1.15)}.color-dot.selected{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 2px #fff6}.importance-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.importance-btn{border:1px solid var(--border-glass);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);text-align:center;padding:10px 4px;font-size:.8125rem;font-weight:600}.importance-btn:hover{background:var(--bg-card-hover)}.importance-btn.active-low{border-color:var(--teal);color:var(--teal);background:#06d6a026}.importance-btn.active-medium{border-color:var(--orange);color:var(--orange);background:#fb850026}.importance-btn.active-high{border-color:var(--red);color:var(--red);background:#ef444426}.auth-page{background:radial-gradient(ellipse at top, #7c3aed26 0%, transparent 60%), radial-gradient(ellipse at bottom right, #06d6a014 0%, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;max-width:380px;padding:36px 28px}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-logo-icon{background:linear-gradient(135deg, var(--violet), var(--violet-dark));width:44px;height:44px;box-shadow:var(--shadow-violet);border-radius:12px;justify-content:center;align-items:center;display:flex}.auth-logo-text{background:linear-gradient(135deg, var(--violet-light), var(--teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:28px;font-size:.9rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-divider{align-items:center;gap:12px;margin:4px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-glass);flex:1;height:1px}.auth-divider span{color:var(--text-muted);font-size:.75rem}.auth-switch{text-align:center;color:var(--text-secondary);margin-top:8px;font-size:.875rem}.auth-switch button{color:var(--violet-light);cursor:pointer;font-weight:600;font-family:var(--font);background:0 0;border:none}.btn-google{background:var(--bg-card);border:1px solid var(--border-glass);color:var(--text-primary);border-radius:var(--radius-md);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 20px;font-size:.9375rem;font-weight:600;display:flex}.btn-google:hover{background:var(--bg-card-hover)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.empty-state-icon{background:var(--bg-card);border-radius:var(--radius-full);width:72px;height:72px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.empty-state-title{color:var(--text-secondary);font-size:1.1rem;font-weight:700}.empty-state-text{color:var(--text-muted);max-width:240px;font-size:.875rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem;font-weight:700}.filter-bar{scrollbar-width:none;gap:8px;padding:0 0 4px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--border-glass);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.filter-chip:hover{background:var(--bg-card-hover);color:var(--text-primary)}.filter-chip.active{background:var(--violet);border-color:var(--violet);color:#fff}.avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--violet), var(--violet-dark));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.divider{background:var(--border-subtle);height:1px;margin:4px 0}.spinner{border:2px solid var(--border-glass);border-top-color:var(--violet);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.loading-page{background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.received-badge{color:var(--pink);align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:4px;padding:16px 12px;display:flex}.stat-value{background:linear-gradient(135deg, var(--violet-light), var(--teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600}.search-bar{position:relative}.search-input{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:11px 16px 11px 42px;font-size:.9375rem}.search-input:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-glow)}.search-input::placeholder{color:var(--text-muted)}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.anim-fade-in{animation:.3s fadeIn}.anim-slide-up{animation:.35s cubic-bezier(.34,1.56,.64,1) slideUp}.anim-scale-in{animation:.25s scaleIn}.modal-overlay{animation:.2s fadeIn}.modal-sheet{animation:.35s cubic-bezier(.34,1.56,.64,1) slideUp}.page-enter{animation:.3s slideUp}.stagger>*{animation:.3s both slideUp}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(n+7){animation-delay:.35s}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.w-full{width:100%}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-violet{color:var(--violet-light)}.text-teal{color:var(--teal)}.text-pink{color:var(--pink)}.text-red{color:var(--red)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-bold{font-weight:700}.font-semibold{font-weight:600}.invite-code-display{background:var(--bg-card);border:1px dashed var(--violet);border-radius:var(--radius-md);text-align:center;letter-spacing:.15em;color:var(--violet-light);cursor:pointer;transition:background var(--transition-fast);padding:12px 16px;font-size:1.2rem;font-weight:800}.invite-code-display:hover{background:var(--violet-glow)}.member-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:10px 0;display:flex}.member-item:last-child{border-bottom:none}.react-hot-toast-custom{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border-glass)!important;font-family:var(--font)!important;border-radius:var(--radius-md)!important;font-size:.875rem!important}
