@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary: #1a73e8;--primary-hover: #1557b0;--bg-color: #fdfdfe;--sidebar-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: rgba(0, 0, 0, .08);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .4);--glass-blur: 16px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--radius-pill: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(149, 157, 165, .1);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .06);font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--primary: #4285f4;--primary-hover: #6ea8fe;--bg-color: #0f172a;--sidebar-bg: rgba(15, 23, 42, .5);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: rgba(255, 255, 255, .1);--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .08);--detail-bg: rgba(15, 23, 42, .5)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}#root{height:100%;width:100%}.app-layout{display:grid;grid-template-columns:0 1fr 0;height:100vh;transition:grid-template-columns .4s cubic-bezier(.19,1,.22,1)}.app-layout.has-sidebar{grid-template-columns:280px 1fr 0}.app-layout.has-detail{grid-template-columns:0 1fr 420px}.app-layout.has-sidebar.has-detail{grid-template-columns:280px 1fr 420px}.glass{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border-color);box-shadow:0 8px 32px #00000014}.app-layout{display:flex;width:100vw;height:100vh;overflow:hidden;background:var(--bg-color)}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:900}.sidebar{width:280px;height:100%;display:flex;flex-direction:column;z-index:1000;transition:all .4s cubic-bezier(.4,0,.2,1);padding:24px 0;background:var(--sidebar-bg);border-right:1px solid var(--border-color)}.sidebar:not(.open){margin-left:-280px;opacity:0;pointer-events:none}.main-content{flex:1;display:flex;flex-direction:column;height:100%;z-index:10;overflow-y:auto;min-width:0;position:relative}.detail-panel{width:350px;height:100%;z-index:1000;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;background:var(--sidebar-bg);border-left:1px solid var(--border-color);padding:40px}@media (max-width: 1024px){.sidebar:not(.open){transform:translate(-100%);margin-left:0;opacity:1;pointer-events:all}.sidebar.open{transform:translate(0)}.detail-panel{position:fixed;right:0;transform:translate(100%)}.detail-panel.open{transform:translate(0)}}.sidebar-header{padding:0 24px 24px}.logo{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:800;color:var(--primary);letter-spacing:-.5px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:4px}.nav-item-wrapper{position:relative;margin-bottom:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;cursor:pointer;color:var(--text-secondary);font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:0 var(--radius-pill) var(--radius-pill) 0;margin-right:16px}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);margin:0 8px;opacity:.3}.nav-item.active .nav-dot{background:var(--primary);opacity:1;box-shadow:0 0 8px var(--primary)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s;padding-right:8px;pointer-events:none}.nav-item:hover .list-actions{opacity:1;pointer-events:all}.list-actions button{background:transparent;border:none;color:var(--text-secondary);padding:4px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.list-actions button:hover{background:#0000000d;color:var(--text-primary)}.nav-item.editing{background:var(--glass-bg);border:1px solid var(--primary);padding:8px 20px}.nav-item.editing input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.95rem;width:100%;font-family:inherit;font-weight:600}.nav-item:hover{background:var(--border-color);color:var(--primary)}.nav-item.active{background:var(--border-color);color:var(--primary);font-weight:700}.nav-divider{height:1px;background:var(--border-color);margin:16px 24px}.nav-section header{padding:0 24px 8px;font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);font-weight:800;letter-spacing:1.5px;opacity:.5}.new-list-btn{margin:16px 24px;display:flex;align-items:center;gap:10px;background:transparent;border:1.5px dashed var(--border-color);padding:12px 16px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.new-list-btn:hover{border-color:var(--primary);color:var(--primary);background:#1a73e80d}.new-list-card{padding:16px;border-radius:var(--radius-lg);margin:8px 16px 16px;background:var(--glass-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px}.new-list-card .list-input{background:var(--bg-color);border:1.5px solid var(--border-color);padding:12px 16px;border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-weight:500;outline:none;transition:all .2s}.new-list-card .list-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81a}.card-actions{display:flex;gap:8px;justify-content:flex-end}.card-actions button{padding:8px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-cancel:hover{background:var(--border-color);color:var(--text-primary)}.btn-add{background:var(--primary);border:none;color:#fff}.btn-add:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e84d}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.main-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;position:sticky;top:0;background:var(--bg-color);z-index:10;border-bottom:1px solid transparent}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-left h1{font-size:1.75rem;font-weight:800;letter-spacing:-.5px}.search-bar{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:var(--radius-pill);width:280px;background:var(--glass-bg);border:1px solid var(--border-color);transition:all .3s}.search-bar-wrapper{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:12px;width:280px;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-bar-wrapper:focus-within{width:320px;background:var(--glass-bg);border-color:var(--primary);box-shadow:0 0 0 4px #1a73e81a}.search-bar-wrapper input{background:transparent;border:none;outline:none;color:var(--text-primary);width:100%;font-size:.95rem}.search-icon{color:var(--text-secondary);transition:color .3s}.search-bar-wrapper:focus-within .search-icon{color:var(--primary)}.icon-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.icon-button:hover{background:var(--border-color);color:var(--primary);transform:scale(1.1)}.theme-toggle-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:600}.theme-toggle-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.auth-profile{display:flex;align-items:center;gap:12px;margin-left:8px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-info span{font-weight:700;font-size:.85rem}.logout-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600}.logout-btn:hover{color:#dc2626}.user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-sm)}.user-avatar img{width:100%;height:100%;object-fit:cover}.task-list-container{padding:0 32px 32px;max-width:1000px;width:100%;margin:0 auto}.create-task-wrapper{margin-bottom:32px}.add-task-box{display:flex;align-items:center;gap:16px;padding:18px 24px;border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.add-task-box input{background:transparent;border:none;outline:none;font-size:1.1rem;font-weight:500;color:var(--text-primary);width:100%}.task-item{display:flex;align-items:center;gap:20px;padding:20px 24px;border-radius:var(--radius-lg);margin-bottom:12px;background:var(--glass-bg);border:1px solid transparent;transition:all .2s;box-shadow:var(--shadow-sm)}.task-item:hover{border-color:#1a73e833;box-shadow:var(--shadow-md)}.task-item.selected{background:#1a73e808;border-color:var(--primary)}.task-item.completed{opacity:.6}.check-btn{background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.check-btn:hover{transform:scale(1.1)}.task-body{flex:1}.task-top{display:flex;align-items:center;gap:8px}.task-title{font-weight:600;font-size:1.05rem}.priority-badge{font-size:.65rem;padding:3px 8px;border-radius:6px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.priority-badge.high{background:#fee2e2;color:#dc2626}.priority-badge.medium{background:#fef3c7;color:#d97706}.priority-badge.low{background:#f3f4f6;color:#6b7280}.task-meta{margin-top:4px;display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--text-secondary)}.task-actions{display:flex;align-items:center;gap:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;text-align:center}.empty-icon{margin-bottom:24px;color:var(--primary);opacity:.2}.empty-state h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin-bottom:32px}.create-first-btn{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-first-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #1a73e84d}.detail-panel{display:flex;flex-direction:column;background:var(--sidebar-bg);border-left:1px solid var(--border-color);padding:40px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:1.25rem;font-weight:800}.detail-section{margin-bottom:24px}.detail-section label{font-size:.75rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;display:block}.editable-title{font-size:1.75rem;font-weight:800;border:none;background:transparent;color:var(--text-primary);width:100%;outline:none;margin-bottom:12px}.priority-selector{display:flex;gap:8px}.p-btn{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:12px;background:transparent;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.p-btn.active.high{background:#fee2e2;color:#dc2626;border-color:#dc2626}.p-btn.active.medium{background:#fef3c7;color:#d97706;border-color:#d97706}.p-btn.active.low{background:#f3f4f6;color:#374151;border-color:#374151}.subtasks-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.subtask-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#00000005;border:1px solid var(--border-color);border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1)}.subtask-item:hover{background:#0000000a;transform:translate(4px);border-color:var(--primary)}.subtask-item button{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.subtask-item button:hover{transform:scale(1.1)}.subtask-item span{font-size:.95rem;font-weight:500;color:var(--text-primary);transition:all .2s}.subtask-item span.completed{opacity:.5;text-decoration:line-through}.add-subtask{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--glass-bg);border:1px dashed var(--border-color);border-radius:12px;margin-top:4px;transition:all .2s}.add-subtask:focus-within{border-style:solid;border-color:var(--primary);background:#fff;box-shadow:var(--shadow-sm)}.add-subtask input{border:none;background:transparent;width:100%;font-family:inherit;font-size:.95rem;color:var(--text-primary);outline:none}.add-subtask input::placeholder{font-weight:500;opacity:.5}[data-theme=dark] .subtask-item{background:#ffffff0d}[data-theme=dark] .add-subtask:focus-within{background:#ffffff14}textarea{width:100%;background:#00000005;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;min-height:120px;font-family:inherit;font-size:.95rem;color:var(--text-primary);resize:none;transition:all .2s}textarea:focus{background:#fff;border-color:var(--primary);outline:none;box-shadow:var(--shadow-sm)}.login-screen,.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-color);z-index:1000;flex-direction:column;gap:20px}.loading-screen p{color:var(--text-secondary);font-size:.9rem;font-weight:500}.login-screen{background-image:radial-gradient(at 0% 0%,rgba(26,115,232,.1) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(26,115,232,.1) 0px,transparent 50%)}.login-card{width:440px;padding:64px;border-radius:var(--radius-lg);text-align:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.login-header h1{font-size:3.5rem;font-weight:800;letter-spacing:-2px;margin:16px 0 8px;color:var(--primary)}.login-header p{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.google-login-wrapper{margin:32px 0;display:flex;justify-content:center}.login-footer{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;opacity:.5}[data-theme=dark] .search-bar,[data-theme=dark] .add-task-box,[data-theme=dark] .task-item,[data-theme=dark] .login-card{background:#ffffff0d;border-color:#ffffff1a}.sidebar-footer{margin-top:auto;padding:24px;border-top:1px solid var(--border-color)}.developer-credit{display:flex;flex-direction:column;gap:2px;opacity:.7}.developer-credit .label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.developer-credit .name{font-size:.85rem;font-weight:800;color:var(--primary)}.login-logo{width:80px;height:80px;object-fit:contain;margin-bottom:8px;filter:drop-shadow(0 4px 12px rgba(26,115,232,.2))}.sidebar-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}[data-theme=dark] .login-logo{filter:drop-shadow(0 4px 12px rgba(66,133,244,.3))}[data-theme=dark] textarea{background:#ffffff08}@media (max-width: 1024px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);width:280px;box-shadow:var(--shadow-xl)}.sidebar.open{transform:translate(0)}.main-content{padding-left:0!important;width:100%!important}.detail-panel{width:400px;z-index:1010}.login-card{width:90%!important;max-width:440px;padding:40px 24px}}@media (max-width: 768px){.main-header{padding:16px;flex-direction:column;align-items:stretch;gap:16px;height:auto}.header-right{justify-content:space-between;width:100%;gap:12px}.search-bar-wrapper{width:100%;flex:1}.task-list-container{padding:0 16px 24px}.detail-panel{width:100%!important;max-width:none!important;padding:24px}.login-header h1{font-size:2.5rem}}@media (max-width: 480px){.nav-section header{padding:0 16px 8px}.nav-item{padding:12px 16px}.task-item{padding:16px;gap:12px}.task-title{font-size:.95rem}.user-info span,.theme-toggle-btn span{display:none}.theme-toggle-btn{padding:8px}.login-card{padding:32px 20px}.login-header h1{font-size:2rem}.logo span{font-size:1.25rem}}
