:root{--main-bg-color: #f9fcf9;--primary-color: #3db04b;--primary-light: #9fdda7;--primary-dark: #2a873a;--secondary-color: #ebf7ed;--accent-color: #5dc26a;--text-primary: #1c2826;--text-secondary: #4d5d53;--text-light: #a8b5af;--border-color: #d1edd5;--shadow-color: rgba(0, 77, 64, .08);--error-color: #e57373;--success-color: #67bb6a;--card-bg: #ffffff;font-family:Inter,Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--main-bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--primary-dark);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--primary-color)}body{margin:0;display:flex;min-width:320px;min-height:100vh}h1{font-size:2.2em;line-height:1.2;font-weight:600;color:var(--primary-dark);margin-bottom:1rem}h2{font-size:1.75em;line-height:1.2;font-weight:500;color:var(--primary-dark)}h3{font-size:1.2em;line-height:1.2;font-weight:500;color:var(--text-primary)}p{margin:0 0 1rem;color:var(--text-secondary)}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:.95em;font-weight:500;font-family:inherit;background-color:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow-color)}button:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}button:focus,button:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}button:active{transform:translateY(0);box-shadow:0 1px 2px var(--shadow-color)}input,textarea,select{font-family:inherit;font-size:1em;border:1px solid var(--border-color);border-radius:6px;padding:.6em 1em;background-color:var(--card-bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4caf5026}#root{max-width:100%;margin:0;padding:0;text-align:center;width:100%;height:100vh;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--primary-color: var(--primary-color);--completed-color: var(--text-light);--error-color: var(--error-color);--background-color: var(--main-bg-color);--card-background: var(--card-bg);--border-color: var(--border-color);--text-color: var(--text-primary);--shadow: 0 2px 10px var(--shadow-color)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--main-bg-color);color:var(--text-primary);font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.6;overflow:hidden;height:100vh}.app{max-width:600px;margin:0 auto;padding:2rem}h1{text-align:center;margin-bottom:2.5rem;color:var(--primary-dark);font-size:2rem;font-weight:600;position:relative;padding-bottom:.5rem}h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background-color:var(--primary-color);border-radius:3px}.loading,.error{text-align:center;padding:2rem;font-size:1.2rem}.error{color:var(--error-color);border:1px solid var(--error-color);border-radius:8px;padding:1rem;margin-top:1rem}.todo-form{display:flex;margin-bottom:.7rem}.todo-input{flex:1;padding:1rem 1.2rem;font-size:1.05rem;border:2px solid #aaa;border-radius:6px 0 0 6px;outline:none;background-color:#fff;box-shadow:0 1px 3px #0000001a}.todo-input:focus{border:2px solid var(--primary-color);box-shadow:0 0 0 3px #4caf5026;outline:none}.add-button{background-color:#3db04b;color:#fff;border:none;padding:1rem 1.8rem;font-size:1rem;font-weight:500;cursor:pointer;border-radius:0 6px 6px 0;transition:all .2s;box-shadow:0 2px 4px var(--shadow-color);display:flex;align-items:center;justify-content:center;min-width:100px}.add-button:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.todo-list{list-style:none;background-color:var(--card-bg);border-radius:12px;overflow-y:auto;box-shadow:var(--shadow);width:100%;margin-bottom:2rem;flex:1 1 0%;max-height:calc(100vh - 220px)}.todo-item{display:flex;flex-direction:column;padding:1.2rem;border-bottom:1px solid var(--border-color);transition:background-color .2s}.todo-item:last-child{border-bottom:none}.todo-item:hover{background-color:var(--secondary-color)}.todo-main-row{display:flex;align-items:flex-start;width:100%}.todo-checkbox-container{flex-shrink:0;margin-right:12px;display:flex;align-items:center;height:100%;padding-top:3px}.todo-checkbox-input{width:20px;height:20px;cursor:pointer;accent-color:#3db04b;margin-right:0}.todo-content{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden;margin-right:10px}.todo-title-container{display:flex;flex-direction:column;gap:5px}.todo-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:.3rem}.todo-title{flex:1;min-width:150px;word-break:break-word;padding:.3rem 0;color:var(--text-primary);text-align:left;font-size:1.05rem}.completed .todo-title,.completed-daily .todo-title{text-decoration:line-through;color:var(--text-light)}.todo-actions{display:flex;gap:.8rem;margin-left:10px;flex-shrink:0}.todo-description-container{margin-top:1rem;padding-left:30px}.todo-description{margin:.5rem 0;padding:.8rem;background-color:#00000008;border-radius:4px;white-space:pre-wrap;font-size:.9rem;color:#555;border-left:3px solid #3db04b}.description-toggle-wrapper{margin-top:8px;display:flex;justify-content:flex-start}.description-toggle-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#555;font-size:.85rem;cursor:pointer;padding:4px 10px;display:flex;align-items:center;transition:all .2s}.description-toggle-button:hover{background-color:#e9e9e9;color:#333}.due-date{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;white-space:nowrap;margin-left:auto}.due-date:before{content:"🗓️";margin-right:.3rem}.due-date.overdue{color:#d32f2f;font-weight:500}.due-date.overdue:before{content:"⚠️"}.due-date.upcoming{color:#ff9800;font-weight:500}.due-date.upcoming:before{content:"⏰"}.todo-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.todo-tag{background-color:#f3f7f3;color:#3db04b;border-radius:20px;padding:.3rem .8rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;box-shadow:none}.tag-remove-button{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;box-shadow:none;transition:all .15s ease;margin-left:-2px}.tag-remove-button:hover{background-color:#e573731a;color:var(--error-color)}.tag-select{margin-top:1rem}.todo-item .delete-button{align-self:flex-start}.app-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.create-todo-button{background-color:#3db04b;color:#fff;border:none;border-radius:6px;padding:.7rem 1.2rem;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.quick-todo-form{display:flex;width:100%;margin-bottom:2.5rem;box-shadow:0 3px 10px var(--shadow-color);border-radius:6px}.detail-button{background-color:#ebf7ed;color:var(--primary-dark);border:1px solid var(--border-color);padding:1rem 1.2rem;font-size:1rem;cursor:pointer;border-radius:0;transition:all .2s;box-shadow:none}.detail-button:hover{background-color:var(--primary-light)}.edit-button{background-color:#ebf7ed;color:var(--primary-dark);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .9rem;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px var(--shadow-color)}.edit-button:hover{background-color:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}@media (max-width: 600px){.app-actions{flex-direction:column;gap:1rem}.create-todo-button{width:100%}.todo-actions{flex-wrap:wrap}.delete-button,.edit-button{padding:.3rem .6rem}.todo-item{flex-direction:column}}.app-container{display:flex;width:100%;min-height:100vh;height:100vh;position:relative}.sidebar{width:320px;background-color:var(--card-bg);border-right:1px solid var(--border-color);height:100vh;overflow-y:hidden;transition:all .3s;position:sticky;top:0;padding:0;display:flex;flex-direction:column}.sidebar-content{display:flex;flex-direction:column;padding:1.5rem;flex:1;overflow-y:hidden;height:100%}.sidebar-section{margin-bottom:1.5rem}.sidebar-section:last-child,.data-management-section{margin-bottom:0}.sidebar-section:first-child{flex-shrink:0;padding-bottom:.5rem}.sidebar-section h3{font-size:1rem;color:var(--text-secondary);margin-bottom:.8rem;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.tag-filter-options{display:flex;gap:.3rem;margin-bottom:.8rem}.filter-option{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;padding:.3rem .5rem;font-size:.8rem;cursor:pointer;box-shadow:none}.filter-option.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.tag-list{display:flex;flex-direction:column;gap:.5rem}.tag-count{background-color:#0000001a;border-radius:12px;padding:.1rem .5rem;font-size:.8rem;margin-left:.5rem}.no-tags{font-style:italic;color:var(--text-light);text-align:center;padding:1rem 0}.main-content{flex:1;padding:2.5rem 3.5rem;min-height:100vh;max-width:none;margin:0 auto;width:100%;display:flex;flex-direction:column}.tag-form{display:flex;margin:1rem 0}@media (max-width: 768px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;max-height:50vh;border-right:none;border-bottom:1px solid var(--border-color);overflow-y:auto}.sidebar-content{padding:1rem;overflow-y:visible}.sidebar-scrollable-section{flex:none;overflow-y:visible}.scrollable-group-list{overflow-y:visible;padding:0 0 1rem;margin-right:0;padding-right:0}.data-management-section{margin-bottom:0;margin-top:1rem}.sidebar-section:last-child{overflow-y:visible}.group-list{overflow-y:visible;padding:0 0 1rem}.main-content{padding:1rem}}.create-group-button{background-color:var(--secondary-color);color:var(--primary-dark);border:none;border-radius:20px;padding:.3rem .8rem;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .2s;box-shadow:0 1px 2px #0000001a}.create-group-button:hover{background-color:var(--primary-light);transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.group-list{display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;padding:0 .5rem 1.5rem 0;flex:1;min-height:0}.group-item{background-color:#f3f7f3;color:#333;border-radius:10px;padding:.7rem 1rem;cursor:pointer;transition:all .2s;box-shadow:none}.group-item:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:none}.group-item.active{background-color:#3db04b;color:#fff;transform:translateY(-1px);box-shadow:none}.group-item-content{display:flex;justify-content:space-between;align-items:center;width:100%}.group-name{font-weight:500;font-size:.95rem;color:var(--text-primary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1;text-align:left;padding-right:.5rem}.group-item.active .group-name{color:#fff}.group-tags{display:flex;flex-wrap:wrap;gap:.5rem}.group-tag{background-color:#ffffffb3;color:var(--primary-dark);border-radius:20px;padding:.2rem .6rem;font-size:.8rem;box-shadow:none}.group-item.active .group-tag{background-color:#ffffffe6;color:var(--primary-dark)}.group-actions{display:flex;gap:.5rem;margin-left:.8rem}.edit-group-button,.delete-group-button{background:transparent;border:none;padding:.2rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;opacity:.7;transition:opacity .2s}.group-item:hover .edit-group-button,.group-item:hover .delete-group-button{opacity:1}.edit-group-button{color:var(--primary-dark)}.delete-group-button{color:var(--error-color)}.group-item.active .edit-group-button,.group-item.active .delete-group-button{color:#fff}.edit-group-button:hover{color:var(--primary-color)}.delete-group-button:hover{color:#d32f2f}.group-item.active .edit-group-button:hover{color:#81c784}.group-item.active .delete-group-button:hover{color:#ffcdd2}@media (max-width: 768px){.group-item{padding:.6rem}.group-actions{margin-top:.5rem}}.delete-button{background-color:#e57373;color:#fff;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.95rem;cursor:pointer;margin-left:1rem;transition:all .2s;box-shadow:0 2px 4px #e5737333}.delete-button:hover{background-color:#d32f2f;transform:translateY(-1px);box-shadow:0 4px 8px #e573734d}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.info{margin-top:2rem;font-size:.9rem;color:var(--text-secondary);background-color:var(--secondary-color);padding:1rem;border-radius:8px}.info p{margin-bottom:.5rem}.info p:last-child{margin-bottom:0}.tag-section{margin-top:2rem}.tag-form{display:flex;margin-bottom:1rem}.tag-input{flex:1;padding:.8rem;font-size:1rem;border:1px solid var(--border-color);border-radius:6px 0 0 6px;outline:none}.tag-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.tag-add-button{background-color:#3db04b;color:#fff;border:none;padding:.8rem 1.2rem;font-size:1rem;font-weight:500;cursor:pointer;border-radius:0 6px 6px 0;transition:all .2s;box-shadow:0 2px 4px var(--shadow-color);display:flex;align-items:center;justify-content:center;min-width:100px}.tag-add-button:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.tag-filter{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.tag-filter-button{background-color:#f3f7f3;color:#3db04b;border:1px solid var(--border-color);border-radius:20px;padding:.4rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s;box-shadow:none;text-align:center;margin-bottom:.5rem}.tag-filter-button:hover{background-color:#e8f5e9;transform:translateY(-1px)}.todo-modal-input{width:100%;padding:.8rem;font-size:1rem;border:2px solid #aaa;border-radius:6px;outline:none;transition:all .2s ease;background-color:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.todo-modal-input:focus{border:2px solid var(--primary-color);box-shadow:0 0 0 3px #4caf5026;outline:none}.todo-modal-input.todo-description-textarea{min-height:80px;line-height:1.4;padding:.75rem;resize:vertical}.todo-header{display:flex;background-color:#f0f7f1;border-bottom:1px solid var(--border-color);padding:10px 180px 10px 20px;font-weight:600;color:#2e7d32;align-items:center}.todo-checkbox-header{display:flex;min-width:80px;margin-right:15px}.todo-content-header{flex:1;text-align:left}.todo-checkboxes-container{display:flex;margin-right:15px;min-width:80px}.checkbox-column{width:40px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.today-todo-checkbox-container{display:flex;align-items:center;padding:0 10px;background-color:#f0f7f1;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.today-todo-label{display:flex;align-items:center;font-size:.9rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.today-todo-checkbox{margin-right:5px;width:16px;height:16px;accent-color:var(--primary-color)}.today-todo-option{display:flex;align-items:center;margin-bottom:10px}.today-todo-option label{margin-left:8px;font-size:1rem;cursor:pointer}.today-todo-badge{background-color:#4caf50;color:#fff;border-radius:20px;padding:.2rem .6rem;font-size:.8rem;margin-left:8px;display:inline-flex;align-items:center}.detail-toggle-btn{background:none!important;border:none;font-size:.97rem;cursor:pointer;margin-top:.2rem;margin-bottom:.2rem;padding:0 2px;display:flex;align-items:center;color:inherit!important;transition:color .2s,background .2s;box-shadow:none}.details-toggle-btn:hover .details-toggle-icon,.details-toggle-btn:focus .details-toggle-icon{color:#1976d2;background:none!important}.recurrence-icon{display:inline-flex;color:#4caf50;vertical-align:middle}.recurrence-icon svg{stroke:#4caf50}.completed .recurrence-icon svg,.completed-daily .recurrence-icon svg{stroke:var(--text-light)}.due-date-container{display:flex;align-items:center;gap:.5rem;margin-left:auto}.filter-button{display:flex;align-items:center;justify-content:space-between;width:100%;background-color:#f0f7f1;color:#2e7d32;border:1px solid var(--border-color);border-radius:8px;padding:.6rem 1rem;font-size:.95rem;margin-bottom:.6rem;cursor:pointer;transition:all .2s;text-align:left}.filter-button:hover{background-color:#e8f5e9;transform:translateY(-1px);box-shadow:0 2px 5px #00000014}.filter-button.active{background-color:#4caf50;color:#fff;border-color:#4caf50}.filter-text{flex:1;font-weight:500}.filter-count{display:inline-flex;align-items:center;justify-content:center;background-color:#fff3;border-radius:12px;padding:.1rem .6rem;font-size:.85rem;min-width:24px;height:24px;font-weight:500}.filter-button:not(.active) .filter-count{background-color:#0000001a}.delete-all-completed-btn-row{display:flex;justify-content:flex-end;margin-bottom:1rem}.delete-all-completed-btn{padding:.7rem 1.4rem;background:#fbe9e7;color:#d84315;border:1px solid #ffab91;border-radius:6px;font-weight:700;cursor:pointer;font-size:1rem;transition:background .2s,color .2s}.delete-all-completed-btn:hover{background:#ffccbc;color:#b71c1c}.accordion-toggle-btn{background:none;border:none;cursor:pointer;padding:0 4px;display:flex;align-items:center;height:32px;transition:background .15s}.accordion-toggle-btn:hover{background:#e0f2e3;border-radius:50%}.accordion-icon{font-size:1.2rem;font-weight:700;-webkit-user-select:none;user-select:none;transition:transform .2s}.todo-description-container.accordion-open{max-height:500px;opacity:1;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s;overflow:hidden;margin-top:.7rem;padding-left:38px}.todo-description-container{max-height:0;opacity:0;transition:max-height .25s,opacity .15s;overflow:hidden;margin-top:0;padding-left:38px}.todo-description{margin:.5rem 0;padding:.9rem 1.1rem;background:linear-gradient(90deg,#f0f7f1 80%,#e0f2e3);border-radius:6px;white-space:pre-wrap;font-size:1.01rem;color:#333;border-left:4px solid #3db04b;box-shadow:0 2px 8px #4caf5012;word-break:break-word}.auto-link{color:#1976d2;text-decoration:underline;word-break:break-all;transition:color .2s}.auto-link:hover{color:#0d47a1;text-decoration:underline}.accordion-icon-simple{font-size:1.2rem;color:#3db04b;font-weight:700;-webkit-user-select:none;user-select:none;margin-right:6px;display:inline-block;vertical-align:middle;transition:color .2s}.todo-description-container.accordion-open-simple{max-height:500px;opacity:1;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s;overflow:hidden;margin-top:.5rem;padding-left:38px;background:none;box-shadow:none}.todo-description-container{max-height:0;opacity:0;transition:max-height .2s,opacity .1s;overflow:hidden;margin-top:0;padding-left:38px;background:none;box-shadow:none}.todo-description-simple{margin:.3rem 0;padding:.7rem 1rem;background:#fafbfc;border-radius:4px;white-space:pre-wrap;font-size:.98rem;color:#333;border-left:3px solid #3db04b;word-break:break-word;text-align:left;box-shadow:none}.details-toggle-btn{background:none!important;border:none;font-size:.97rem;cursor:pointer;margin-top:.2rem;margin-bottom:.2rem;padding:0 2px;display:flex;align-items:center;color:inherit!important;transition:color .2s,background .2s;box-shadow:none}.details-toggle-btn:hover,.details-toggle-btn:focus,.details-toggle-btn:active{background:none!important;color:inherit!important}.details-toggle-btn:hover .details-toggle-icon,.details-toggle-btn:focus .details-toggle-icon{background:none!important}.details-toggle-icon{font-size:1.05rem;font-weight:500;display:flex;align-items:center;gap:2px;color:#3db04b;transition:color .2s;background:none!important}.todo-item,.todo-tag,.create-todo-button,.tag-filter-button,.group-item,.main-content,.todo-list{box-shadow:none!important;background-image:none!important}.todo-tag{background-color:#f3f7f3;color:#3db04b}.todo-tag:hover{background-color:#e0f2e3}.create-todo-button{background-color:#3db04b;color:#fff}.create-todo-button:hover{background-color:#1976d2}.tag-filter-button{background-color:#f3f7f3;color:#3db04b}.tag-filter-button.active{background-color:#3db04b;color:#fff}.group-item{background-color:#f3f7f3;color:#333}.group-item.active{background-color:#3db04b;color:#fff}.today-todo-description{padding-left:95px!important}.bulk-today-todo-button{background-color:#3db04b;color:#fff;border:none;padding:.7rem 1.8rem;font-size:1rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s;box-shadow:0 2px 4px var(--shadow-color);display:flex;align-items:center;justify-content:center;min-width:100px}.bulk-today-todo-button:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.bulk-todo-list{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:.5rem 0 1.2rem;padding:.5rem;background:#f8faf8;border-radius:8px;box-shadow:0 1px 4px #4caf5012;height:320px;overflow-y:auto;min-width:260px;width:auto;text-align:left}.bulk-todo-item{display:flex;align-items:center;gap:.7rem;font-size:1rem;color:#333;padding:.4rem .7rem;border-radius:6px;cursor:pointer;transition:background .15s;text-align:left}.bulk-todo-item:hover{background:#e0f2e3}.bulk-todo-item input[type=checkbox]{margin-right:.7rem;accent-color:#3db04b;width:20px;height:20px}.bulk-todo-actions{display:flex;gap:1rem;margin-top:.5rem}.modal-content,.form-group{text-align:left}.tag-group-filter{display:flex;flex-direction:row;gap:.7rem;margin:.7rem 0 1.2rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}.tag-group-filter button{background:#e8f5e9;color:#388e3c;border:none;border-radius:18px;padding:.5rem 1.2rem;font-size:.97rem;font-weight:500;cursor:pointer;box-shadow:0 1px 4px #4caf5014;transition:background .18s,color .18s,box-shadow .18s;white-space:nowrap;outline:none}.tag-group-filter button:hover{background:#c8e6c9;color:#1b5e20}.tag-group-filter button.active{background:#388e3c;color:#fff;box-shadow:0 2px 8px #388e3c21}.sidebar-scrollable-section{flex:1;overflow-y:hidden;display:flex;flex-direction:column;min-height:0}.scrollable-group-list{flex:1;overflow-y:auto;min-height:0;padding-right:.5rem;margin-right:-.5rem}.scrollable-group-list::-webkit-scrollbar{width:6px}.scrollable-group-list::-webkit-scrollbar-track{background:transparent}.scrollable-group-list::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}.scrollable-group-list::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.data-management-section{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color);flex-shrink:0}.data-buttons{display:flex;flex-direction:column;gap:.5rem}.export-button,.import-button{background-color:#3db04b;color:#fff;border:none;border-radius:6px;padding:.7rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:.5rem}.export-button:hover,.import-button:hover{background-color:#2e7d32;transform:translateY(-1px)}.import-mode-options{display:flex;flex-direction:column;gap:1rem}.import-mode-option{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.import-mode-option:hover{border-color:#2196f3;background-color:#f5f5f5}.import-mode-option input[type=radio]{margin:.2rem 0 0;cursor:pointer}.option-content{flex:1}.option-title{font-weight:600;margin-bottom:.5rem;color:#333}.option-description{font-size:.9rem;color:#666;line-height:1.4}.import-file-input{display:none}.import-file-label{display:inline-block;background-color:#3db04b;color:#fff;border:none;border-radius:4px;padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s;text-align:center;width:100%}.import-file-label:hover:not(.disabled){background-color:#2e7d32}.import-file-label.disabled{background-color:#ccc;cursor:not-allowed}.import-result{padding:1rem;border-radius:4px;margin-top:1rem}.import-result.success{background-color:#e8f5e8;border:1px solid #4caf50}.import-result.error{background-color:#ffebee;border:1px solid #f44336}.result-message{font-weight:600;margin-bottom:.5rem}.import-result.success .result-message{color:#2e7d32}.import-result.error .result-message{color:#c62828}.import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:.5rem;font-size:.9rem;color:#2e7d32}.import-errors{margin-top:.5rem}.error-message{font-size:.9rem;color:#c62828;margin-bottom:.3rem}@media (max-width: 768px){.import-mode-options{gap:.8rem}.import-mode-option{padding:.8rem}.import-summary{grid-template-columns:1fr}}.recurrence-form{margin-top:1rem;border:1px solid #ddd;border-radius:8px;overflow:hidden}.recurrence-header{padding:.8rem;background-color:#f5f5f5;border-bottom:1px solid #ddd}.recurrence-toggle{display:flex;align-items:center;cursor:pointer;font-weight:500}.recurrence-toggle input{margin-right:.5rem}.recurrence-settings{padding:1rem;background-color:#f9f9f9}.recurrence-row{display:flex;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.recurrence-row:last-child{margin-bottom:0}.recurrence-field{flex:1;min-width:200px}.recurrence-field label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#555}.recurrence-field select,.recurrence-field input[type=number],.recurrence-field input[type=date]{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.interval-input{display:flex;align-items:center}.interval-input input{width:60px;margin-right:.5rem}.days-of-week{flex-direction:column}.dow-buttons{display:flex;gap:.5rem;margin-top:.5rem}.dow-buttons button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #ccc;border-radius:50%;background-color:#fff;color:#333;cursor:pointer;transition:all .2s ease}.dow-buttons button.selected{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.end-date{min-width:100%}@media (max-width: 600px){.recurrence-row{flex-direction:column;gap:.8rem}.recurrence-field{min-width:auto}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:#333}.form-group{margin-bottom:1.2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.todo-modal-input,.todo-modal-textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.todo-modal-textarea{resize:vertical;min-height:80px}.tags-input-container{border:1px solid #ddd;border-radius:4px;background-color:#fff;padding:.5rem}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.tag{display:inline-flex;align-items:center;background-color:#e1f5fe;color:#0277bd;padding:.3rem .6rem;border-radius:16px;font-size:.9rem}.tag.new-tag{background-color:#e8f5e9;color:#2e7d32}.remove-tag{border:none;background:none;color:inherit;margin-left:.3rem;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;width:16px;height:16px;border-radius:50%}.remove-tag:hover{background-color:#0000001a}.tag-input-wrapper{position:relative}.tag-input{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.tag-suggestion{padding:.7rem;cursor:pointer}.tag-suggestion:hover{background-color:#f0f0f0}.tag-suggestion.selected{background-color:#e3f2fd;border-left:3px solid #2196f3}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.cancel-button,.save-button{padding:.7rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.cancel-button{background-color:#f0f0f0;color:#333}.cancel-button:hover{background-color:#e0e0e0}.save-button{background-color:#2196f3;color:#fff}.save-button:hover{background-color:#1976d2}.save-button:disabled{background-color:#ccc;cursor:not-allowed}.today-todo-option{display:flex;align-items:center;gap:.5rem}.today-todo-checkbox{width:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background-color:var(--card-bg);border-radius:12px;box-shadow:0 6px 24px var(--shadow-color);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;padding:1.8rem}.modal-content h2{margin-top:0;margin-bottom:1.8rem;color:var(--primary-dark);font-size:1.5rem;text-align:center}.form-group{margin-bottom:1.8rem}.form-group label{display:block;margin-bottom:.6rem;font-weight:600;color:var(--text-primary)}.group-input{width:100%;padding:.8rem;font-size:1rem;border:1px solid var(--border-color);border-radius:6px;outline:none;background-color:var(--card-bg);color:var(--text-primary);transition:all .2s ease}.group-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.tag-search{margin-bottom:1rem}.tag-search-input{width:100%;padding:.7rem;font-size:1rem;border:1px solid var(--border-color);border-radius:6px;outline:none;background-color:var(--card-bg);color:var(--text-primary);margin-bottom:.8rem;transition:all .2s ease}.tag-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.tag-select-actions{display:flex;gap:.8rem;margin-bottom:.8rem}.tag-select-all-button,.tag-deselect-all-button{background-color:#ebf7ed;border:1px solid var(--border-color);border-radius:6px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;transition:all .2s ease;color:#2a873a;flex:1;display:flex;align-items:center;justify-content:center}.tag-select-all-button:hover,.tag-deselect-all-button:hover{background-color:#9fdda7}.tag-selection{max-height:40vh;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;padding:.8rem;background-color:var(--secondary-color)}.tag-list{display:flex;flex-direction:column;gap:.4rem}.tag-list-item{padding:.7rem;border-radius:6px;transition:all .2s ease;background-color:#ffffffb3}.tag-list-item:hover{background-color:#ffffffe6;box-shadow:0 2px 5px #0000000d}.tag-checkbox{display:flex;align-items:center;width:100%;cursor:pointer}.tag-checkbox input[type=checkbox]{margin-right:.8rem;cursor:pointer;accent-color:var(--primary-color);width:16px;height:16px}.tag-name{font-size:.95rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.selected-tags-info{margin-top:.8rem;font-size:.9rem;color:var(--text-secondary);padding:.5rem;background-color:var(--secondary-color);border-radius:6px;text-align:center}.no-tags-message{color:var(--text-secondary);text-align:center;padding:1.5rem;font-style:italic}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-button{background-color:#f0f0f0;color:var(--text-secondary);border:1px solid var(--border-color);padding:.7rem 1.2rem;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;min-width:100px;display:flex;align-items:center;justify-content:center}.cancel-button:hover{background-color:#e0e0e0;color:var(--text-primary)}.save-button{background-color:#3db04b;color:#fff;border:none;padding:.7rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;min-width:100px;display:flex;align-items:center;justify-content:center}.save-button:hover{background-color:#2a873a;transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color)}.save-button:active{transform:translateY(0);box-shadow:0 2px 4px var(--shadow-color)}.save-button:disabled{background-color:#9fdda7;cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}@media (max-width: 600px){.modal-content{width:95%;padding:1.2rem}}
