@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0a0a0f;--bg-card:#14141e99;--bg-sidebar:#0f0f14cc;--text-main:#fff;--text-muted:#8b8b9d;--accent:#6366f1;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--success:#22c55e;--danger:#ef4444;--border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15%,#6366f126,#0000 25%),radial-gradient(circle at 85% 30%,#a855f726,#0000 25%);background-attachment:fixed;min-height:100vh}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;width:280px;height:100vh;padding:2rem 1.5rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{color:var(--text-main);align-items:center;gap:.8rem;margin-bottom:2.5rem;display:flex}.sidebar-header h2{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:600}.nav-menu{flex-direction:column;flex:1;gap:.5rem;display:flex}.nav-item{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:.8rem;width:100%;padding:.8rem 1rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{color:var(--text-main);background:#ffffff0d}.nav-item.active{color:#a855f7;background:#6366f126;font-weight:600}.nav-section{margin-top:2rem}.nav-section h3{text-transform:uppercase;letter-spacing:1px;color:#ffffff4d;margin-bottom:.8rem;padding-left:1rem;font-size:.85rem}.add-project-form{gap:.5rem;margin-top:1rem;display:flex}.add-project-form input{border:1px solid var(--border);color:#fff;background:#0003;border-radius:10px;outline:none;flex:1;min-width:0;padding:.6rem 1rem;font-size:.9rem}.add-project-form input:focus{border-color:var(--accent)}.add-project-form button{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;display:flex}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.logout-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.8rem;width:100%;padding:.8rem 1rem;font-size:1rem;transition:all .2s;display:flex}.logout-btn:hover{color:var(--danger);background:#ef44441a;border-color:#ef444433}.main-content{flex:1;justify-content:center;padding:4rem 2rem;display:flex;overflow-y:auto}.app-container{width:100%;max-width:650px}.header{margin-bottom:3rem;animation:.6s ease-out fadeDown}.header h1{letter-spacing:-1px;margin-bottom:.5rem;font-size:3rem;font-weight:700}.header p{color:var(--text-muted);font-size:1.1rem}.add-todo-form{gap:1rem;margin-bottom:2.5rem;animation:.6s ease-out .1s both fadeUp;display:flex}.input-group{flex:1;position:relative}.input-field{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text-main);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;outline:none;padding:1.2rem 1.5rem;font-size:1rem;transition:all .3s}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6366f11a}.input-field::placeholder{color:#4a4a5e}.add-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;width:60px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #6366f14d}.add-btn:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 8px 25px #6366f166}.add-btn:active{transform:translateY(0)scale(.95)}.todos-list{flex-direction:column;gap:1rem;display:flex}.todo-item{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;align-items:center;gap:1rem;padding:1.2rem;transition:all .3s;animation:.4s ease-out both slideIn;display:flex}.todo-item:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 10px 30px #0003}.todo-item.completed{opacity:.6}.todo-item.completed .todo-title{color:var(--text-muted);text-decoration:line-through}.checkbox-wrapper{justify-content:center;align-items:center;display:flex}.custom-checkbox{border:2px solid var(--border);cursor:pointer;color:#0000;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.todo-item.completed .custom-checkbox{background:var(--success);border-color:var(--success);color:#fff}.custom-checkbox:hover{border-color:var(--success)}.todo-content{flex:1}.todo-title{font-size:1.1rem;font-weight:500;transition:color .3s}.actions{gap:.5rem;display:flex}.action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.action-btn:hover{color:var(--text-main);background:#ffffff0d}.action-btn.delete:hover{color:var(--danger);background:#ef44441a}.empty-state{text-align:center;color:var(--text-muted);padding:3rem;animation:.5s ease-out fadeIn}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-container{width:100%;max-width:400px;animation:.6s ease-out fadeUp}.auth-card{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:2.5rem;box-shadow:0 20px 40px #0006}.auth-header{text-align:center;margin-bottom:2.5rem;animation:.6s ease-out fadeDown}.auth-header h1{letter-spacing:-1px;color:var(--text-main);margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.auth-header p{color:var(--text-muted);font-size:1.05rem}.auth-form{flex-direction:column;gap:1.2rem;margin-bottom:2rem;display:flex}.auth-btn{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.8rem;margin-top:.5rem;padding:1.2rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.auth-switch{text-align:center;color:var(--text-muted);font-size:.95rem}.auth-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-weight:600}.auth-switch button:hover{text-decoration:underline}.auth-error{color:var(--danger);text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;padding:1rem;font-size:.9rem}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-item-wrapper{align-items:center;width:100%;display:flex;position:relative}.nav-item{justify-content:space-between;padding:.6rem .8rem}.nav-item-content{align-items:center;gap:.8rem;display:flex;overflow:hidden}.nav-item-content span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-item-actions{opacity:0;align-items:center;gap:.3rem;transition:opacity .2s;display:flex}.nav-item-wrapper:hover .nav-item-actions{opacity:1}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.3rem;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-main);background:#ffffff1a}.icon-btn.delete-hover:hover{color:var(--danger);background:#ef44441a}.inline-edit-form{background:#0003;border-radius:10px;align-items:center;gap:.3rem;width:100%;padding:.4rem .8rem;display:flex}.inline-edit-form input{color:#fff;background:0 0;border:none;outline:none;flex:1;width:100%;font-size:.95rem}.inline-edit-form.todo-edit{background:0 0;padding:0}.inline-edit-form.todo-edit input{border-bottom:1px solid var(--accent);border-radius:0;padding:.2rem 0;font-size:1.1rem}.icon-btn.success{color:var(--success)}.icon-btn.danger{color:var(--danger)}.action-btn.success{color:var(--success)}.action-btn.success:hover{background:#22c55e1a}.role-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;margin-left:.8rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.role-badge.owner{color:#c084fc;background:#a855f733;border:1px solid #a855f74d}.role-badge.admin{color:#818cf8;background:#6366f133;border:1px solid #6366f14d}.role-badge.member{color:var(--text-muted);border:1px solid var(--border);background:#ffffff1a}.role-select{color:var(--text-main);border:1px solid var(--border);cursor:pointer;background:#0003;border-radius:8px;outline:none;margin-right:.5rem;padding:.3rem .5rem;font-size:.85rem}.role-select option{background:var(--bg-card);color:#fff}.app-error-banner{color:#fff;z-index:100;background:#ef4444e6;border-radius:12px;padding:.8rem 1.5rem;font-weight:500;animation:.3s ease-out slideDown;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #ef44444d}@keyframes slideDown{0%{opacity:0;top:-2rem}to{opacity:1;top:1rem}}.profile-section{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.profile-avatar{object-fit:cover;cursor:pointer;background:#ffffff1a;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.profile-avatar:hover{border-color:var(--accent)}.attachment-link{color:var(--accent);background:#6366f11a;border-radius:8px;align-items:center;gap:.3rem;margin-left:.5rem;padding:.2rem .6rem;font-size:.85rem;text-decoration:none;display:flex}.attachment-link:hover{background:#6366f133}@media (width<=768px){.app-layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;max-height:40vh;padding:1.5rem 1rem;position:relative}.main-content{padding:2rem 1rem}.header{gap:1rem;flex-direction:column!important;align-items:flex-start!important}.header>div{width:100%}.header input.input-field{width:100%!important}.add-todo-form>div:last-child{gap:1rem;flex-direction:column!important;align-items:stretch!important}.add-todo-form input[type=datetime-local]{width:100%!important}.add-btn{justify-content:center;width:100%!important;padding:.8rem!important}.todo-item{flex-wrap:wrap;gap:.8rem}.inline-edit-form{flex-wrap:wrap}.inline-edit-form.todo-edit input[type=datetime-local]{width:100%!important}}.toast-container{z-index:9999;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-main);border-radius:12px;padding:16px 20px;font-weight:500;animation:.3s ease-out forwards slideInUp;box-shadow:0 8px 32px #0006}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
