:root{--bg-color:#fff;--surface-color:#f8f9fa;--text-color:#1a1a1a;--text-muted:#6b7280;--border-color:#e5e7eb;--primary-color:#001491;--primary-hover:#000c5e;--danger-color:#ef4444;--success-color:#10b981}[data-theme=dark]{--bg-color:#0f172a;--surface-color:#1e293b;--text-color:#f8fafc;--text-muted:#94a3b8;--border-color:#334155;--primary-color:#2b3fc2;--primary-hover:#4459df}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body,.auth-card,.input-field,.navbar,.task-item,.theme-toggle,.btn-secondary,p,h1,h2,h3,label{transition:background-color .4s,color .4s,border-color .4s,box-shadow .4s}a{color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}.app-container{flex-direction:column;flex:1;display:flex}.auth-container{flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.auth-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:1rem;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 25px #0000000d}[data-theme=dark] .auth-card{box-shadow:0 10px 25px #00000080}.auth-title{text-align:center;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-color);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input-field{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;color:var(--text-color);border-radius:.5rem;outline:none;padding:.75rem 1rem;font-size:1rem}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.btn{cursor:pointer;border:none;border-radius:.5rem;outline:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-color);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover{background-color:var(--surface-color)}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.875rem}.navbar{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.navbar-brand{color:var(--primary-color);font-size:1.25rem;font-weight:700}.theme-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.theme-toggle:hover{background-color:var(--border-color);color:var(--text-color);transform:scale(1.05)}.dashboard-container{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.header-actions{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.task-list{list-style:none}.task-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:.5rem;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.task-item:hover{transform:translate(4px)}.task-item.completed{opacity:.6}.task-item.completed .task-text{text-decoration:line-through}.task-checkbox{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color);margin-right:1rem}.task-text{flex-grow:1}.task-delete{color:var(--danger-color);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.5rem}.task-delete:hover{background-color:#ef44441a}.add-task-form{gap:1rem;margin-bottom:2rem;display:flex}.error-message{color:var(--danger-color);background-color:#ef44441a;border-radius:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.success-message{color:var(--success-color);background-color:#10b9811a;border-radius:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.category-badge{color:#fff;background-color:var(--primary-color);border-radius:9999px;margin-right:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.task-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.task-due-date{align-items:center;gap:.25rem;display:flex}.task-due-date.overdue{color:var(--danger-color);font-weight:600}.form-row{gap:1rem;width:100%;display:flex}.form-row>*{flex:1}.select-field{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;color:var(--text-color);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border-radius:.5rem;outline:none;padding:.75rem 1rem;font-size:1rem}.select-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.navbar-actions-desktop{align-items:center;gap:1rem;display:flex}.mobile-menu-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.mobile-menu-dropdown{display:none}@media (width<=640px){.navbar-actions-desktop{display:none}.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.mobile-menu-dropdown{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);z-index:100;display:block;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 15px -3px #0000001a}.mobile-menu-content{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.form-row{flex-direction:column!important;gap:1rem!important}.form-row>div{width:100%;margin-bottom:0!important}.add-task-form{gap:1rem!important}.dashboard-container{padding:1rem}}
