:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#1e293b;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#f8fafc}#root{width:100%}*{box-sizing:border-box}.app{max-width:1200px;margin:0 auto;padding:2rem;background-color:#f8fafc;min-height:100vh}.app-header{margin-bottom:2rem;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:2rem}.app-header h1{margin:0;color:#1e293b;font-size:2rem;font-weight:700;flex-shrink:0}.progress-section{flex:1;max-width:400px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-text{font-size:.875rem;color:#64748b;font-weight:500}.progress-bar{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease;min-width:0}.progress-fill.minimal{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-fill.low{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-fill.medium{background:linear-gradient(90deg,#eab308,#ca8a04)}.progress-fill.high{background:linear-gradient(90deg,#3b82f6,#2563eb)}.progress-fill.complete{background:linear-gradient(90deg,#10b981,#059669)}.header-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.clear-completed-btn{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.clear-completed-btn:hover{background:#dc2626}.app-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.app{padding:1rem}.app-main{grid-template-columns:1fr}.header-controls{flex-direction:column;align-items:stretch}.header-top{flex-direction:column;align-items:stretch;gap:1rem}.progress-section{max-width:none}.app-header h1{font-size:1.5rem}}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.todo-item:hover{border-color:#cbd5e1;background-color:#f8fafc}.todo-item.completed{opacity:.6;background-color:#f1f5f9}.todo-item.urgent{border-left:4px solid #f59e0b;background-color:#fffbeb}.todo-item.urgent:hover{background-color:#fef3c7}.checkbox-container{position:relative;cursor:pointer}.checkbox-container input[type=checkbox]{opacity:0;width:0;height:0}.checkmark{position:relative;display:inline-block;width:20px;height:20px;background-color:#fff;border:2px solid #cbd5e1;border-radius:4px;transition:all .2s}.checkbox-container input[type=checkbox]:checked~.checkmark{background-color:#10b981;border-color:#10b981}.checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-container input[type=checkbox]:checked~.checkmark:after{display:block}.task-text{flex:1;color:#1e293b;font-size:.875rem;line-height:1.4}.todo-item.completed .task-text{text-decoration:line-through;color:#64748b}.task-controls{display:flex;gap:.25rem}.urgency-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:.375rem;cursor:pointer;font-size:.875rem;transition:all .2s;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.urgency-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1}.urgency-btn.urgent{background-color:#fef3c7;border-color:#f59e0b}.urgency-btn.normal{background-color:#f8fafc;border-color:#e2e8f0}.remove-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:.375rem;cursor:pointer;color:#ef4444;font-size:.75rem;transition:all .2s;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background-color:#fef2f2;border-color:#fecaca}.todo-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;height:fit-content}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.section-header h2{margin:0;color:#1e293b;font-size:1.25rem;font-weight:600}.section-title{margin:0;color:#1e293b;font-size:1.25rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background-color .2s}.section-title:hover{background-color:#f1f5f9}.title-edit-form{margin:0}.title-edit-input{background:#f8fafc;border:2px solid #3b82f6;border-radius:6px;padding:.25rem .5rem;font-size:1.25rem;font-weight:600;color:#1e293b;outline:none;min-width:150px;font-family:inherit}.section-header-controls{display:flex;align-items:center;gap:.5rem}.task-count{background:#e2e8f0;color:#64748b;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.remove-section-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:.375rem;cursor:pointer;font-size:.875rem;transition:all .2s;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.remove-section-btn:hover{background-color:#fef2f2;border-color:#fecaca}.add-task-form{display:flex;gap:.5rem;margin-bottom:1rem}.task-input{flex:1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:border-color .2s}.task-input:focus{outline:none;border-color:#3b82f6}.add-task-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:background-color .2s}.add-task-btn:hover{background:#2563eb}.tasks-list{display:flex;flex-direction:column;gap:.5rem}.task-picker{display:flex;flex-direction:column;gap:.75rem;flex:1}.pick-task-btn{background:#8b5cf6;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.pick-task-btn:hover{background:#7c3aed}.picked-task{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:.75rem;border-left:4px solid #8b5cf6}.picked-label{display:block;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.picked-task-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.picked-task-text{font-weight:500;color:#1f2937;flex:1}.picked-task-section{font-size:.75rem;color:#6b7280;background:#e5e7eb;padding:.125rem .5rem;border-radius:12px}.picked-task-urgent{font-size:.875rem}@media (max-width: 768px){.task-picker{width:100%}.picked-task-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.add-section-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;height:fit-content;border:2px dashed #e2e8f0;transition:all .2s}.add-section-card:hover{border-color:#cbd5e1;background-color:#f8fafc}.add-section-trigger{width:100%;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:#64748b;transition:color .2s}.add-section-trigger:hover{color:#3b82f6}.plus-icon{font-size:2rem;font-weight:700;width:48px;height:48px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-section-trigger:hover .plus-icon{background:#dbeafe;color:#3b82f6}.add-text{font-size:.875rem;font-weight:500}.add-section-form{display:flex;flex-direction:column;gap:1rem}.section-name-input{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:border-color .2s}.section-name-input:focus{outline:none;border-color:#3b82f6}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-btn{background:#10b981;color:#fff;border:none;border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{background:#d1d5db;cursor:not-allowed}.cancel-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.cancel-btn:hover{background:#dc2626}
