.app-wrapper.light{--bg:#f5f5f7;--surface:#ffffff;--surface-raised:#ffffff;--border:rgba(0,0,0,0.08);--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#aeaeb2;--accent:#5000ca;--accent-bg:rgba(80,0,202,0.08);--header-bg:rgba(245,245,247,0.82);--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.08),0 1px 4px rgba(0,0,0,0.04);--shadow-lg:0 12px 40px rgba(0,0,0,0.10),0 2px 8px rgba(0,0,0,0.06);--input-bg:#f5f5f7;--danger:#ff3b30;--danger-bg:rgba(255,59,48,0.08)}.app-wrapper.dark{--bg:#000000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--border:rgba(255,255,255,0.08);--text-primary:#f5f5f7;--text-secondary:#98989d;--text-tertiary:#636366;--accent:#bf5af2;--accent-bg:rgba(191,90,242,0.12);--header-bg:rgba(28,28,30,0.82);--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);--input-bg:#2c2c2e;--danger:#ff453a;--danger-bg:rgba(255,69,58,0.12)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app-wrapper{min-height:100vh;background:var(--bg);color:var(--text-primary);transition:background .3s ease,color .3s ease}.top-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.app-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);margin:0;position:absolute;left:50%;transform:translateX(-50%)}.top-actions{gap:8px}.theme-toggle-btn,.top-actions{display:flex;align-items:center}.theme-toggle-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--surface-raised);color:var(--text-primary);font-size:16px;cursor:pointer;justify-content:center;transition:background .2s ease,transform .15s ease;box-shadow:var(--shadow-sm)}.theme-toggle-btn:hover{background:var(--accent-bg);transform:scale(1.08)}.account-menu{position:relative}.account-btn{height:36px;padding:0 14px;border-radius:18px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm);white-space:nowrap}.account-btn:hover{background:var(--accent-bg);box-shadow:var(--shadow-md)}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px;animation:dropdown-in .18s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.account-dropdown .user-email{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-secondary);word-break:break-all}.account-dropdown .user-email strong{color:var(--text-primary);display:block;margin-top:2px}.logout-btn-dropdown{width:100%;padding:10px;border-radius:10px;border:none;background:var(--danger-bg);color:var(--danger);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease}.logout-btn-dropdown:hover{background:rgba(255,59,48,.16)}.auth-box-dropdown .auth-form{padding:0;border:none;background:transparent;box-shadow:none}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form h2{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.auth-form input{padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:.875rem;color:var(--text-primary);background:var(--input-bg);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.auth-form input::-moz-placeholder{color:var(--text-tertiary)}.auth-form input::placeholder{color:var(--text-tertiary)}.auth-form button[type=submit]{padding:10px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.auth-form button[type=submit]:hover{opacity:.88}.auth-form p{font-size:.8125rem;color:var(--text-secondary);margin:0;text-align:center}.auth-link{color:var(--accent);cursor:pointer;font-weight:500;margin-left:4px}.auth-link:hover{text-decoration:underline}.error{font-size:.8125rem;color:var(--danger);background:var(--danger-bg);padding:8px 10px;border-radius:8px;margin:0}.main-content{padding:32px 24px 64px}.content-inner-wrapper{max-width:680px;margin:0 auto}.add-todo-form{display:flex;gap:10px;margin-bottom:28px}.add-todo-form input{flex:1;padding:13px 16px;border:1px solid var(--border);border-radius:14px;font-size:.9375rem;color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-sm);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.add-todo-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg),var(--shadow-sm)}.add-todo-form input::-moz-placeholder{color:var(--text-tertiary)}.add-todo-form input::placeholder{color:var(--text-tertiary)}.add-todo-form button[type=submit]{padding:13px 20px;border-radius:14px;border:none;background:var(--accent);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s ease,transform .15s ease;box-shadow:var(--shadow-sm)}.add-todo-form button[type=submit]:hover{opacity:.88;transform:translateY(-1px)}.add-todo-form button[type=submit]:active{transform:translateY(0)}.view-filters{display:flex;gap:4px;margin-bottom:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:4px;box-shadow:var(--shadow-sm)}.view-filters button{flex:1;padding:8px 12px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease;white-space:nowrap}.view-filters button:hover{color:var(--text-primary)}.view-filters button.active-filter{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.view-filters button.deleted-filter.active-filter{background:var(--danger)}.todo-list-header{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px;padding:0 4px}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease;animation:item-in .22s ease}.todo-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@keyframes item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.todo-item-text{flex:1;font-size:.9375rem;color:var(--text-primary);line-height:1.4;min-width:0;word-break:break-word}.todo-item-text.completed{text-decoration:line-through;color:var(--text-tertiary)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;border:none;transition:transform .15s ease,opacity .15s ease;flex-shrink:0;font-family:inherit}.status-badge:hover{opacity:.82;transform:scale(1.05)}.status-badge:active{transform:scale(.97)}.status-badge.status-todo{background:rgba(142,142,147,.14);color:#636366}.status-badge.status-in_progress{background:rgba(255,159,10,.14);color:#c07000}.status-badge.status-done{background:rgba(52,199,89,.12);color:#1a7f37}.app-wrapper.dark .status-badge.status-todo{background:rgba(142,142,147,.18);color:#98989d}.app-wrapper.dark .status-badge.status-in_progress{background:rgba(255,159,10,.18);color:#ff9f0a}.app-wrapper.dark .status-badge.status-done{background:rgba(48,209,88,.18);color:#30d158}.delete-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-tertiary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .18s ease,color .18s ease;line-height:1}.delete-btn:hover{background:var(--danger-bg);color:var(--danger)}.restore-btn{padding:5px 12px;border-radius:20px;border:none;background:rgba(52,199,89,.12);color:#1a7f37;font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .18s ease;font-family:inherit}.restore-btn:hover{background:rgba(52,199,89,.22)}.app-wrapper.dark .restore-btn{color:#30d158;background:rgba(48,209,88,.14)}.app-wrapper.dark .restore-btn:hover{background:rgba(48,209,88,.24)}.deleted-text{color:var(--text-tertiary)!important;text-decoration:line-through}.deleted-source-tag{font-size:.75rem;color:var(--text-tertiary);margin-left:8px}.no-tasks{text-align:center;padding:48px 0;color:var(--text-tertiary);font-size:.9375rem}.auth-view-wrapper{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:24px 0}.auth-inline-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px}.auth-inline-card .auth-form h2{font-size:1.375rem;margin-bottom:8px}.auth-inline-card .auth-form input{padding:12px 14px;font-size:.9375rem}.auth-inline-card .auth-form button[type=submit]{padding:12px;font-size:.9375rem;border-radius:12px;margin-top:4px}@media (max-width:520px){.top-bar{padding:0 16px}.main-content{padding:20px 16px 48px}.add-todo-form{flex-direction:column}.add-todo-form button[type=submit]{width:100%}.view-filters button{font-size:.75rem;padding:7px 8px}.account-dropdown{width:calc(100vw - 32px);right:-8px}}