@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600&family=DM+Sans:wght@300;400;500&display=swap";:root{--bg-base:#f4f1eb;--bg-surface:#fff;--bg-subtle:#faf8f3;--border:#e5e0d5;--border-input:#e0dbd0;--text-primary:#1a1a1a;--text-secondary:#777;--text-muted:#aaa;--accent:#c8a96e;--accent-hover:#b8954f;--accent-soft:#fef6e8;--accent-text:#a07830;--accent-border:#f0ddb0;--green:#6abf87;--green-soft:#eef8f2;--green-text:#2e8a52;--green-border:#b0dfc0;--red:#c0392b;--red-soft:#fdf0ef;--red-border:#f5c6c2;--nav-bg:#1a1a1a;--nav-text:#e8d5b0}[data-theme=dark]{--bg-base:#0e0e11;--bg-surface:#16161a;--bg-subtle:#1c1c21;--border:#f0ede817;--border-input:#f0ede821;--text-primary:#f0ede8;--text-secondary:#f0ede880;--text-muted:#f0ede847;--accent:#e8d5b0;--accent-hover:#d4bc8e;--accent-soft:#e8d5b01a;--accent-text:#e8d5b0;--accent-border:#e8d5b038;--green:#a8c5a0;--green-soft:#a8c5a01a;--green-text:#a8c5a0;--green-border:#a8c5a038;--red:#dc6450d9;--red-soft:#dc64501a;--red-border:#dc645038;--nav-bg:#0e0e11;--nav-text:#e8d5b0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:DM Sans,sans-serif;transition:background .3s,color .3s}.auth-container{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:2.5rem;display:flex}.auth-box h2{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.8rem;font-weight:400}.subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:-.5rem;font-size:.82rem}input{background:var(--bg-subtle);border:1px solid var(--border-input);color:var(--text-primary);border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.88rem;transition:border-color .2s}input::placeholder{color:var(--text-muted)}input:focus{border-color:var(--accent)}button{background:var(--text-primary);color:var(--bg-surface);cursor:pointer;border:none;border-radius:8px;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;transition:opacity .2s}button:hover{opacity:.8}button:disabled{opacity:.35;cursor:not-allowed}.error-msg{color:var(--red);background:var(--red-soft);border:1px solid var(--red-border);border-radius:8px;padding:.6rem .9rem;font-size:.82rem}.switch-page{text-align:center;color:var(--text-muted);font-size:.82rem}.switch-page a{color:var(--accent);font-weight:500;text-decoration:none}.dashboard{flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--nav-bg);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 2.5rem;display:flex}.navbar h1{color:var(--nav-text);font-family:Playfair Display,serif;font-size:1.35rem;font-weight:400}.nav-right{align-items:center;gap:.6rem;display:flex}.theme-toggle{width:34px;height:34px;color:var(--nav-text);cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;transition:border-color .2s;display:flex}.theme-toggle:hover{opacity:1;border-color:var(--nav-text)}.logout-btn{color:#e8d5b099;background:0 0;border:1px solid #ffffff2e;border-radius:20px;padding:.35rem 1rem;font-size:.78rem}.logout-btn:hover{opacity:1;color:var(--nav-text)}.dashboard-body{flex:1;grid-template-columns:260px 1fr;min-height:calc(100vh - 56px);display:grid}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;gap:1.75rem;padding:1.75rem 1.5rem;display:flex}.greeting{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.2rem;font-weight:400;line-height:1.4}.greeting-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:.25rem;font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:300;display:block}.section-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.35rem;font-size:.65rem}.task-stats{flex-direction:column;gap:.35rem;display:flex}.stat-row{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem .85rem;font-size:.82rem;display:flex}.stat-label{color:var(--text-secondary)}.stat-val{color:var(--accent);font-weight:500}.add-task-box{flex-direction:column;gap:.55rem;display:flex}.add-task-box button{background:var(--accent);color:#fff;width:100%}.add-task-box button:hover{background:var(--accent-hover);opacity:1}.main-panel{flex-direction:column;gap:1rem;padding:1.75rem 2rem;display:flex}.controls{align-items:center;gap:.5rem;display:flex}.search-input{flex:1}.filter-btns{gap:.35rem;display:flex}.filter-btns button{border:1px solid var(--border-input);color:var(--text-secondary);text-transform:capitalize;background:0 0;border-radius:20px;padding:.4rem .9rem;font-size:.73rem}.filter-btns button:hover{opacity:1;color:var(--text-primary)}.filter-btns button.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface);opacity:1}.task-list{flex-direction:column;gap:.5rem;display:flex}.task-card{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;transition:border-color .2s;display:flex}.task-card:hover{border-color:var(--accent)}.task-card.completed{opacity:.65;background:var(--bg-subtle)}.toggle-circle{border:1.5px solid var(--border-input);cursor:pointer;color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:10px;transition:all .15s;display:flex}.toggle-circle:hover{border-color:var(--accent)}.toggle-circle.done{background:var(--green);border-color:var(--green);color:#fff}.task-info{flex:1;min-width:0}.task-info h4{color:var(--text-primary);margin-bottom:.18rem;font-size:.87rem;font-weight:400;line-height:1.4}.task-info h4.done{color:var(--text-muted);text-decoration:line-through}.task-info p{color:var(--text-muted);font-size:.75rem;font-weight:300}.badge{text-transform:capitalize;letter-spacing:.2px;border-radius:20px;flex-shrink:0;padding:.18rem .6rem;font-size:.67rem;font-weight:500}.badge.pending{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-border)}.badge.completed{background:var(--green-soft);color:var(--green-text);border:1px solid var(--green-border)}.card-actions{opacity:0;flex-shrink:0;gap:.35rem;transition:opacity .2s;display:flex}.task-card:hover .card-actions{opacity:1}.card-actions button{border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:6px;padding:.25rem .6rem;font-size:.7rem}.card-actions button:hover{opacity:1;color:var(--text-primary);background:var(--bg-subtle)}.del-btn{border-color:var(--red-border)!important;color:var(--red)!important}.del-btn:hover{background:var(--red-soft)!important}.edit-mode{flex-direction:column;gap:.5rem;width:100%;display:flex}.edit-mode .card-actions{opacity:1}.loading,.empty{text-align:center;color:var(--text-muted);padding:4rem 2rem;font-size:.85rem;font-weight:300}
