*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}html,body,#root{width:100%;height:100%}h1,h2,h3,h4,h5,h6{margin:0;padding:0}p{margin:0}button{font-family:inherit;cursor:pointer}input{font-family:inherit}@media(max-width:768px){:root{font-size:14px}}.task-form{background-color:#f9f9f9;padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid #e0e0e0}.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-input.input-error{border-color:#dc3545}.form-input.input-error:focus{box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;font-size:.9rem;margin-bottom:1rem;padding:.75rem;background-color:#fff5f5;border-left:4px solid #dc3545;border-radius:4px}.btn-submit{width:100%;padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.btn-submit:hover{background-color:#0056b3;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}@media(max-width:768px){.task-form{padding:1rem}.form-input{font-size:16px}}.task-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:.75rem;background-color:#fff;border-left:4px solid #007bff;border-radius:6px;box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.task-item:hover{box-shadow:0 4px 8px #0000001a;transform:translate(4px)}.task-item.completed{background-color:#f5f5f5;border-left-color:#28a745;opacity:.8}.task-item.completed .task-description{text-decoration:line-through;color:#999}.task-item.overdue{border-left-color:#dc3545;background-color:#fff5f5}.task-item.overdue .task-description{color:#dc3545;font-weight:500}.task-content{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.task-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;flex-shrink:0}.task-text{flex:1;min-width:0}.task-description{margin:0;padding:0;font-size:1rem;color:#333;word-break:break-word;word-wrap:break-word}.task-date-container{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.task-date{font-size:.85rem;color:#666}.alert-icon{font-size:1.2rem;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.task-actions{display:flex;gap:.5rem;flex-shrink:0;margin-left:1rem}.btn-edit,.btn-delete{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s ease}.btn-edit:hover{background-color:#007bff1a}.btn-delete:hover{background-color:#dc35451a}.task-section{margin-bottom:2.5rem}.section-title{font-size:1.5rem;font-weight:700;color:#0b0202;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:3px solid #007bff;display:inline-block}.tasks-list{display:flex;flex-direction:column}.empty-state{text-align:center;padding:2rem;background-color:#f9f9f9;border-radius:8px;border:2px dashed #ddd;color:#040000;font-size:1.1rem}.empty-state p{margin:0}@media(max-width:768px){.section-title{font-size:1.3rem}}.home-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#2304ec);padding:2rem}.page-header{text-align:center;margin-bottom:2rem;color:#f2eef5}.page-title{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-subtitle{font-size:1.1rem;margin:0;opacity:.95}.page-content{max-width:800px;margin:0 auto;background-color:#e9e9f3;border-radius:12px;padding:2rem;box-shadow:0 20px 60px #0000004d}.page-footer{text-align:center;margin-top:2rem;color:#fff;font-size:.95rem;opacity:.9}.page-footer p{margin:0}@media(max-width:768px){.home-page{padding:1rem}.page-title{font-size:1.8rem}.page-subtitle{font-size:1rem}.page-content{padding:1.5rem}}
