:root{--bg-color:#f4f7f6;--card-bg:#fff;--text-main:#2d3748;--text-muted:#718096;--primary:#000;--primary-hover:#333;--border:#e2e8f0}body{background-color:var(--bg-color);color:var(--text-main);margin:0;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}#auth-section,#dashboard-section{background:var(--card-bg);border-radius:16px;max-width:1000px;margin:40px auto;padding:40px;box-shadow:0 4px 20px #0000000d}h2,h3,h4{color:var(--text-main);margin-top:0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select{border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:#a0aec0;box-shadow:0 0 0 3px #e2e8f080}button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .2s,transform .1s}button:hover{background:var(--primary-hover)}button:active{transform:scale(.98)}.tab-btn{color:var(--text-main);background:#edf2f7;border-radius:8px;margin-bottom:8px;margin-right:8px;padding:8px 16px}table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}th:last-child,td:last-child{border-right:none}tr:last-child td{border-bottom:none}.grid-input{font-size:.9rem;width:60px!important;padding:6px!important}.grid-checkbox{cursor:pointer;accent-color:#4caf50;width:20px;height:20px}#challenge-progress-section{background:#f8fafc!important;border:none!important;border-radius:12px!important;padding:20px!important}#challenge-progress-bar{border-radius:4px;background:linear-gradient(90deg,#4caf50,#81c784)!important}#auth-section{text-align:center;width:90%;max-width:400px;margin:15vh auto}#auth-section input{box-sizing:border-box;width:100%}.tab-container{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;padding-top:10px;display:flex}.tab-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:#edf2f7;border-bottom:none;border-radius:8px 8px 0 0;margin:0 0 -2px;padding:10px 20px;transition:background .2s}.tab-btn:hover{background:#e2e8f0}.tab-btn.active{background:var(--card-bg);color:var(--text-main);border-top:3px solid var(--primary);border-bottom:2px solid var(--card-bg);font-weight:700}.col-success{background-color:#4caf501a!important}.form-control{box-sizing:border-box;width:100%;max-width:500px;margin-bottom:12px;font-family:inherit;display:block}.form-group{border-bottom:1px solid var(--border);max-width:500px;margin-bottom:20px;padding-bottom:15px}.form-group:last-of-type{border-bottom:none}.form-label{color:var(--text-main);margin-bottom:6px;font-size:.9em;font-weight:600;display:block}.list-item{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:14px;transition:box-shadow .2s,border-color .2s;display:flex}.list-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000005}.list-item-title{margin-bottom:2px;font-size:.95em;font-weight:700}.list-item-sub{color:var(--text-muted);font-size:.85em}.btn-danger{color:#ef4444;background:#fee2e2;border:1px solid #fecaca}.btn-danger:hover{background:#fecaca}#habits-container,#history-container{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;padding-bottom:10px;overflow-x:auto}#habits-container table,#history-container table{border:none}.grid-checkbox,.task-checkbox{width:24px!important;height:24px!important}button{min-height:44px}.add-subtask-btn,.delete-task-btn{min-height:auto;padding:8px 12px!important}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{font-size:16px!important}@media (width<=600px){body{padding:10px}#auth-section,#dashboard-section{margin:10px auto;padding:20px}.tab-container{gap:0}.tab-btn{text-align:center;border-radius:0;flex-grow:1;padding:12px 5px;font-size:.85em}.tab-btn:first-child{border-radius:8px 0 0}.tab-btn:last-child{border-radius:0 8px 0 0}}
