:root{--primary-color:#3db04b;--primary-light:#9fdda7;--primary-dark:#2a873a;--accent-color:#5dc26a;--main-bg-color:#f9fcf9;--card-bg:#fff;--surface-tint:#f3f7f3;--surface-tint-alt:#f0f7f1;--secondary-color:#ebf7ed;--surface-hover:#e8f5e9;--tag-hover-bg:#e0f2e3;--text-primary:#1c2826;--text-secondary:#4d5d53;--text-light:#a8b5af;--text-muted:#7a8a7a;--text-faint:#9aa89a;--border-color:#d1edd5;--border-subtle:#d7e5d7;--error-color:#e57373;--success-color:#67bb6a;--danger-color:#d32f2f;--danger-bg:#fbe9e7;--danger-bg-hover:#ffccbc;--danger-text:#d84315;--danger-border:#ffab91;--warning-color:#ff9800;--link-color:#1976d2;--link-hover-color:#0d47a1;--shadow-color:#004d4014;--shadow:0 2px 10px var(--shadow-color);--focus-ring:0 0 0 3px #4caf5026;--overlay-bg:#00000080;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-pill:20px}*{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;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;font-family:Inter,Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.6}body{background-color:var(--main-bg-color);min-width:320px;height:100vh;color:var(--text-primary);line-height:1.6;display:flex;overflow:hidden}#root{text-align:center;width:100%;height:100vh;overflow:hidden}h1{color:var(--primary-dark);text-align:center;margin-bottom:2.5rem;padding-bottom:.5rem;font-size:2rem;font-weight:600;line-height:1.2;position:relative}h1:after{content:"";background-color:var(--primary-color);border-radius:3px;width:60px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}h2{color:var(--primary-dark);font-size:1.75em;font-weight:500;line-height:1.2}h3{color:var(--text-primary);font-size:1.2em;font-weight:500;line-height:1.2}p{color:var(--text-secondary);margin:0 0 1rem}a{color:var(--primary-dark);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .2s}a:hover{color:var(--primary-color)}button{border-radius:var(--radius-md);background-color:var(--primary-color);color:#fff;cursor:pointer;box-shadow:0 2px 4px var(--shadow-color);border:1px solid #0000;padding:.6em 1.2em;font-family:inherit;font-size:.95em;font-weight:500;transition:all .2s}button:hover{background-color:var(--primary-dark);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}button:active{box-shadow:0 1px 2px var(--shadow-color);transform:translateY(0)}input,textarea,select{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--card-bg);color:var(--text-primary);padding:.6em 1em;font-family:inherit;font-size:1em;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring);outline:none}.app-container{width:100%;height:100vh;min-height:100vh;display:flex;position:relative}.main-content{flex-direction:column;flex:1;width:100%;min-height:100vh;padding:2.5rem 3.5rem;display:flex}.loading,.error{text-align:center;padding:2rem;font-size:1.2rem}.error{border:1px solid var(--error-color);color:var(--error-color);border-radius:8px;margin-top:1rem;padding:1rem}.error-banner{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger-text);margin-bottom:1rem;padding:.75rem 1rem}.empty-state{color:var(--text-secondary);text-align:center;padding:2rem;font-style:italic}.list-action-row{justify-content:flex-end;margin-bottom:1rem;display:flex}@media (width<=768px){.app-container{flex-direction:column}.main-content{padding:1rem}}.sidebar{border-right:1px solid var(--border-color);background-color:var(--card-bg);flex-direction:column;width:320px;height:100vh;padding:0;transition:all .3s;display:flex;position:sticky;top:0;overflow-y:hidden}.sidebar-content{flex-direction:column;flex:1;height:100%;padding:1.5rem;display:flex;overflow-y:hidden}.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{color:var(--text-secondary);margin-bottom:.8rem;font-size:1rem;font-weight:600}.section-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.filter-button{border:1px solid var(--border-color);background-color:var(--surface-tint-alt);width:100%;color:var(--primary-dark);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.6rem;padding:.6rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.filter-button:hover{background-color:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 5px #00000014}.filter-button.active{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.filter-text{flex:1;font-weight:500}.filter-count{background-color:#fff3;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:.1rem .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.filter-button:not(.active) .filter-count{background-color:#0000001a}.sidebar-scrollable-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:hidden}.create-group-button{border-radius:var(--radius-pill);background-color:var(--secondary-color);color:var(--primary-dark);cursor:pointer;border:none;align-items:center;gap:.3rem;padding:.3rem .8rem;font-size:.85rem;transition:all .2s;display:flex;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{flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:0 .5rem 1.5rem 0;display:flex;overflow-y:auto}.scrollable-group-list{flex:1;min-height:0;margin-right:-.5rem;padding-right:.5rem;overflow-y:auto}.scrollable-group-list::-webkit-scrollbar{width:6px}.scrollable-group-list::-webkit-scrollbar-track{background:0 0}.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)}.group-item{background-color:var(--surface-tint);color:var(--text-primary);cursor:pointer;box-shadow:none;border-radius:10px;padding:.7rem 1rem;transition:all .2s}.group-item:hover{background-color:var(--primary-light);box-shadow:none;transform:translateY(-2px)}.group-item.active{background-color:var(--primary-color);color:#fff;box-shadow:none;transform:translateY(-1px)}.group-item-content{justify-content:space-between;align-items:center;width:100%;display:flex}.group-name{color:var(--text-primary);text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding-right:.5rem;font-size:.95rem;font-weight:500;overflow:hidden}.group-item.active .group-name{color:#fff}.group-actions{gap:.5rem;margin-left:.8rem;display:flex}.edit-group-button,.delete-group-button{cursor:pointer;opacity:.7;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;font-size:.9rem;transition:opacity .2s;display:flex}.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)}.edit-group-button:hover{color:var(--primary-color)}.delete-group-button:hover{color:var(--danger-color)}.group-item.active .edit-group-button,.group-item.active .delete-group-button{color:#fff}.group-item.active .edit-group-button:hover{color:#81c784}.group-item.active .delete-group-button:hover{color:#ffcdd2}.data-management-section{border-top:1px solid var(--border-color);flex-shrink:0;margin-top:auto;padding-top:1rem}.data-buttons{flex-direction:column;gap:.5rem;display:flex}.export-button,.import-button{border-radius:var(--radius-md);background-color:var(--primary-color);color:#fff;text-align:left;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.export-button:hover,.import-button:hover{background-color:var(--primary-dark);transform:translateY(-1px)}@media (width<=768px){.sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;height:auto;max-height:50vh;overflow-y:auto}.sidebar-content{padding:1rem;overflow-y:visible}.sidebar-section:last-child{overflow-y:visible}.sidebar-scrollable-section{flex:none;overflow-y:visible}.group-list,.scrollable-group-list{margin-right:0;padding:0 0 1rem;overflow-y:visible}.data-management-section{margin-top:1rem;margin-bottom:0}.group-item{padding:.6rem}.group-actions{margin-top:.5rem}}.app-actions{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.quick-todo-form{border-radius:var(--radius-md);background-color:var(--card-bg);width:100%;box-shadow:0 3px 10px var(--shadow-color);flex-direction:column;margin-bottom:2.5rem;display:flex}.quick-todo-main-row{width:100%;display:flex}.quick-todo-tag-row{border-top:1px solid #e8f0e8;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .9rem;display:flex}.todo-input{border-radius:var(--radius-md) 0 0 var(--radius-md);background-color:var(--card-bg);border:2px solid #aaa;outline:none;flex:1;padding:1rem 1.2rem;font-size:1.05rem;box-shadow:0 1px 3px #0000001a}.todo-input:focus{border:2px solid var(--primary-color);box-shadow:var(--focus-ring);outline:none}.today-todo-checkbox-container{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background-color:var(--surface-tint-alt);align-items:center;padding:0 10px;display:flex}.today-todo-label{color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-items:center;font-size:.9rem;display:flex}.today-todo-checkbox{width:16px;height:16px;accent-color:var(--primary-color);margin-right:5px}.detail-button{border:1px solid var(--border-color);background-color:var(--secondary-color);color:var(--primary-dark);cursor:pointer;box-shadow:none;border-radius:0;padding:1rem 1.2rem;font-size:1rem;transition:all .2s}.detail-button:hover{background-color:var(--primary-light)}.add-button{border-radius:0 var(--radius-md) var(--radius-md) 0;background-color:var(--primary-color);color:#fff;cursor:pointer;min-width:100px;box-shadow:0 2px 4px var(--shadow-color);border:none;justify-content:center;align-items:center;padding:1rem 1.8rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.add-button:hover{background-color:var(--primary-dark);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-1px)}@media (width<=600px){.app-actions{flex-direction:column;gap:1rem}}.todo-list{border-radius:var(--radius-lg);background-color:var(--card-bg);flex:1;width:100%;max-height:calc(100vh - 220px);margin-bottom:2rem;list-style:none;overflow-y:auto}.todo-header{border-bottom:1px solid var(--border-color);background-color:var(--surface-tint-alt);color:var(--primary-dark);align-items:center;padding:10px 180px 10px 20px;font-weight:600;display:flex}.todo-checkbox-header{min-width:80px;margin-right:15px;display:flex}.todo-content-header{text-align:left;flex:1}.todo-item{border-bottom:1px solid var(--border-color);flex-direction:column;padding:1.2rem;transition:background-color .2s;display:flex}.todo-item:last-child{border-bottom:none}.todo-item:hover{background-color:var(--secondary-color)}.todo-main-row{align-items:flex-start;width:100%;display:flex}.todo-checkbox-container{flex-shrink:0;align-items:center;height:100%;margin-right:12px;padding-top:3px;display:flex}.todo-checkboxes-container{min-width:80px;margin-right:15px;display:flex}.checkbox-column{justify-content:center;align-items:center;width:40px;font-size:.85rem;display:flex}.todo-checkbox-input{width:20px;height:20px;accent-color:var(--primary-color);cursor:pointer;margin-right:0}.todo-content{flex-direction:column;flex:1;min-width:0;margin-right:10px;display:flex;overflow:hidden}.todo-title-container{flex-direction:column;gap:5px;display:flex}.todo-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:.3rem;display:flex}.todo-title{min-width:150px;color:var(--text-primary);text-align:left;word-break:break-word;flex:1;padding:.3rem 0;font-size:1.05rem}.completed .todo-title,.completed-daily .todo-title{color:var(--text-light);text-decoration:line-through}.todo-actions{flex-shrink:0;gap:.8rem;margin-left:10px;display:flex}.todo-item .delete-button{align-self:flex-start}.edit-button{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--secondary-color);color:var(--primary-dark);cursor:pointer;box-shadow:0 2px 4px var(--shadow-color);padding:.5rem .9rem;font-size:.95rem;transition:all .2s}.edit-button:hover{background-color:var(--primary-light);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-1px)}.delete-button{border-radius:var(--radius-md);background-color:var(--error-color);color:#fff;cursor:pointer;border:none;margin-left:1rem;padding:.5rem .9rem;font-size:.95rem;transition:all .2s;box-shadow:0 2px 4px #e5737333}.delete-button:hover{background-color:var(--danger-color);transform:translateY(-1px);box-shadow:0 4px 8px #e573734d}.delete-all-completed-btn{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger-text);cursor:pointer;padding:.7rem 1.4rem;font-size:1rem;font-weight:700;transition:background .2s,color .2s}.delete-all-completed-btn:hover{background:var(--danger-bg-hover);color:#b71c1c}.due-date-container{align-items:center;gap:.5rem;margin-left:auto;display:flex}.due-date{color:var(--text-secondary);white-space:nowrap;align-items:center;margin-left:auto;font-size:.85rem;display:flex}.due-date:before{content:"🗓️";margin-right:.3rem}.due-date.overdue{color:var(--danger-color);font-weight:500}.due-date.overdue:before{content:"⚠️"}.due-date.upcoming{color:var(--warning-color);font-weight:500}.due-date.upcoming:before{content:"⏰"}.recurrence-icon{color:var(--primary-color);vertical-align:middle;display:inline-flex}.recurrence-icon svg{stroke:var(--primary-color)}.completed .recurrence-icon svg,.completed-daily .recurrence-icon svg{stroke:var(--text-light)}.details-toggle-btn{cursor:pointer;color:inherit;box-shadow:none;background:0 0;border:none;align-items:center;margin:.2rem 0;padding:0 2px;font-size:.97rem;transition:color .2s,background .2s;display:flex}.details-toggle-btn:hover,.details-toggle-btn:focus,.details-toggle-btn:active{color:inherit;box-shadow:none;background:0 0;transform:none}.details-toggle-icon{color:var(--primary-color);align-items:center;gap:2px;font-size:1.05rem;font-weight:500;transition:color .2s;display:flex}.details-toggle-btn:hover .details-toggle-icon,.details-toggle-btn:focus .details-toggle-icon{color:var(--link-color)}.todo-description-container{opacity:0;max-height:0;margin-top:0;padding-left:38px;transition:max-height .2s,opacity .1s;overflow:hidden}.todo-description-container.accordion-open-simple{opacity:1;max-height:500px;margin-top:.5rem;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s}.today-todo-description{padding-left:95px}.todo-description{border-left:3px solid var(--primary-color);border-radius:var(--radius-sm);color:#333;text-align:left;white-space:pre-wrap;word-break:break-word;background:#fafbfc;margin:.3rem 0;padding:.7rem 1rem;font-size:.98rem}.auto-link{color:var(--link-color);word-break:break-all;text-decoration:underline;transition:color .2s}.auto-link:hover{color:var(--link-hover-color)}@media (width<=600px){.todo-item{flex-direction:column}.todo-actions{flex-wrap:wrap}.delete-button,.edit-button{padding:.3rem .6rem}}.todo-tags{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}.todo-tag{border-radius:var(--radius-pill);background-color:var(--surface-tint);color:var(--primary-color);align-items:center;gap:.5rem;padding:.3rem .8rem;font-size:.85rem;transition:all .2s;display:inline-flex}.todo-tag:hover{background-color:var(--tag-hover-bg)}.tag-remove-button{width:18px;height:18px;color:var(--text-secondary);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:-2px;padding:0;font-size:.9rem;transition:all .15s;display:flex}.tag-remove-button:hover{color:var(--error-color);box-shadow:none;background-color:#e573731a;transform:none}.tag-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background-color:var(--surface-tint);color:var(--primary-color);cursor:pointer;box-shadow:none;align-items:center;gap:.4rem;padding:.3rem .8rem;font-family:inherit;font-size:.85rem;transition:background-color .2s,border-color .2s;display:inline-flex}button.tag-chip:hover{border-color:var(--primary-light);color:var(--primary-color);box-shadow:none;background-color:#e3f0e5;transform:none}.tag-chip.selected{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}button.tag-chip.selected:hover{border-color:var(--primary-dark);background-color:var(--primary-dark);color:#fff}span.tag-chip.selected{cursor:default}.tag-chip-remove{color:inherit;cursor:pointer;opacity:.8;box-shadow:none;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.tag-chip-remove:hover{color:inherit;opacity:1;box-shadow:none;background:0 0;transform:none}.tag-filter-search,.tag-select-search{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);outline:none;padding:.35rem .7rem;font-size:.85rem}.tag-filter-search:focus,.tag-select-search:focus{border-color:var(--primary-light);box-shadow:none}.tag-filter-bar{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.tag-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tag-filter-label,.tag-select-label{color:var(--text-muted);font-size:.8rem}.tag-filter-empty,.tag-select-empty{color:var(--text-faint);font-size:.85rem}.tag-select{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.tag-select-search{width:140px}.modal-overlay{z-index:1000;background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background-color:var(--card-bg);text-align:left;width:90%;max-width:500px;max-height:90vh;box-shadow:0 6px 24px var(--shadow-color);padding:1.8rem;overflow-y:auto}.modal-content h2{color:var(--primary-dark);text-align:center;margin-top:0;margin-bottom:1.8rem;font-size:1.5rem}.form-group{text-align:left;margin-bottom:1.8rem}.form-group label{color:var(--text-primary);margin-bottom:.6rem;font-weight:600;display:block}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.cancel-button{border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:100px;color:var(--text-secondary);cursor:pointer;background-color:#f0f0f0;justify-content:center;align-items:center;padding:.7rem 1.2rem;font-weight:500;transition:all .2s;display:flex}.cancel-button:hover{color:var(--text-primary);background-color:#e0e0e0}.save-button{border-radius:var(--radius-md);background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;min-width:100px;padding:.7rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.save-button:hover{background-color:var(--primary-dark);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-1px)}.save-button:active{box-shadow:0 2px 4px var(--shadow-color);transform:translateY(0)}.save-button:disabled{background-color:var(--primary-light);opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=600px){.modal-content{width:95%;padding:1.2rem}}.todo-modal-input,.todo-modal-textarea{border-radius:var(--radius-sm);border:1px solid #ddd;width:100%;padding:.8rem;font-family:inherit;font-size:1rem}.todo-modal-textarea{resize:vertical;min-height:80px}.today-todo-option{align-items:center;gap:.5rem;display:flex}.tags-input-container{border-radius:var(--radius-sm);background-color:var(--card-bg);border:1px solid #ddd;padding:.5rem}.selected-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.tag{color:#0277bd;background-color:#e1f5fe;border-radius:16px;align-items:center;padding:.3rem .6rem;font-size:.9rem;display:inline-flex}.tag.new-tag{background-color:var(--surface-hover);color:var(--primary-dark)}.remove-tag{width:16px;height:16px;color:inherit;cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:.3rem;padding:0;font-size:1rem;display:flex}.remove-tag:hover{color:inherit;box-shadow:none;background-color:#0000001a;transform:none}.tag-input-wrapper{position:relative}.tag-input{border-radius:var(--radius-sm);border:1px solid #ddd;width:100%;padding:.6rem;font-size:1rem}.tag-suggestions{z-index:10;border-radius:var(--radius-sm);background-color:var(--card-bg);border:1px solid #ddd;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 10px #0000001a}.tag-suggestion{cursor:pointer;padding:.7rem}.tag-suggestion:hover{background-color:#f0f0f0}.tag-suggestion.selected{border-left:3px solid var(--primary-color);background-color:var(--surface-hover)}.recurrence-form{border:1px solid #ddd;border-radius:8px;margin-top:1rem;overflow:hidden}.recurrence-header{background-color:#f5f5f5;border-bottom:1px solid #ddd;padding:.8rem}.recurrence-toggle{cursor:pointer;align-items:center;font-weight:500;display:flex}.recurrence-toggle input{margin-right:.5rem}.recurrence-settings{background-color:#f9f9f9;padding:1rem}.recurrence-row{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.recurrence-row:last-child{margin-bottom:0}.recurrence-field{flex:1;min-width:200px}.recurrence-field label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;display:block}.recurrence-field select,.recurrence-field input[type=number],.recurrence-field input[type=date]{border-radius:var(--radius-sm);border:1px solid #ccc;width:100%;padding:.5rem;font-size:1rem}.interval-input{align-items:center;display:flex}.interval-input input{width:60px;margin-right:.5rem}.days-of-week{flex-direction:column}.dow-buttons{gap:.5rem;margin-top:.5rem;display:flex}.dow-buttons button{background-color:var(--card-bg);color:#333;cursor:pointer;width:36px;height:36px;box-shadow:none;border:1px solid #ccc;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.dow-buttons button:hover{border-color:var(--primary-light);background-color:var(--surface-tint);color:#333;box-shadow:none;transform:none}.dow-buttons button.selected{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.dow-buttons button.selected:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.end-date{min-width:100%}@media (width<=600px){.recurrence-row{flex-direction:column;gap:.8rem}.recurrence-field{min-width:auto}}.group-input,.tag-search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--card-bg);width:100%;color:var(--text-primary);outline:none;padding:.8rem;font-size:1rem;transition:all .2s}.tag-search-input{margin-bottom:.8rem;padding:.7rem}.group-input:focus,.tag-search-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring)}.tag-search{margin-bottom:1rem}.tag-select-actions{gap:.8rem;margin-bottom:.8rem;display:flex}.tag-select-all-button,.tag-deselect-all-button{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--secondary-color);color:var(--primary-dark);cursor:pointer;flex:1;justify-content:center;align-items:center;padding:.4rem .8rem;font-size:.85rem;transition:all .2s;display:flex}.tag-select-all-button:hover,.tag-deselect-all-button:hover{background-color:var(--primary-light);color:var(--primary-dark)}.tag-selection{border:1px solid var(--border-color);background-color:var(--secondary-color);border-radius:8px;max-height:40vh;padding:.8rem;overflow-y:auto}.tag-list{flex-direction:column;gap:.4rem;display:flex}.tag-list-item{border-radius:var(--radius-md);background-color:#ffffffb3;padding:.7rem;transition:all .2s}.tag-list-item:hover{background-color:#ffffffe6;box-shadow:0 2px 5px #0000000d}.tag-checkbox{cursor:pointer;align-items:center;width:100%;display:flex}.tag-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer;margin-right:.8rem}.tag-name{color:var(--text-primary);-webkit-user-select:none;user-select:none;font-size:.95rem}.selected-tags-info{border-radius:var(--radius-md);background-color:var(--secondary-color);color:var(--text-secondary);text-align:center;margin-top:.8rem;padding:.5rem;font-size:.9rem}.no-tags-message{color:var(--text-secondary);text-align:center;padding:1.5rem;font-style:italic}.bulk-today-todo-button{border-radius:var(--radius-md);background-color:var(--primary-color);color:#fff;cursor:pointer;min-width:100px;box-shadow:0 2px 4px var(--shadow-color);border:none;justify-content:center;align-items:center;padding:.7rem 1.8rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.bulk-today-todo-button:hover{background-color:var(--primary-dark);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-1px)}.tag-group-filter{scrollbar-width:thin;flex-direction:row;gap:.7rem;margin:.7rem 0 1.2rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.tag-group-filter button{background:var(--surface-hover);color:#388e3c;white-space:nowrap;cursor:pointer;border:none;border-radius:18px;outline:none;padding:.5rem 1.2rem;font-size:.97rem;font-weight:500;transition:background .18s,color .18s,box-shadow .18s;box-shadow:0 1px 4px #4caf5014}.tag-group-filter button:hover{color:#1b5e20;background:#c8e6c9;transform:none}.tag-group-filter button.active{color:#fff;background:#388e3c;box-shadow:0 2px 8px #388e3c21}.bulk-todo-list{text-align:left;background:#f8faf8;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.5rem;width:auto;min-width:260px;height:320px;margin:.5rem 0 1.2rem;padding:.5rem;display:flex;overflow-y:auto;box-shadow:0 1px 4px #4caf5012}.bulk-todo-item{border-radius:var(--radius-md);color:#333;text-align:left;cursor:pointer;align-items:center;gap:.7rem;padding:.4rem .7rem;font-size:1rem;transition:background .15s;display:flex}.bulk-todo-item:hover{background:var(--tag-hover-bg)}.bulk-todo-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-color);margin-right:.7rem}.import-mode-options{flex-direction:column;gap:1rem;display:flex}.import-mode-option{cursor:pointer;border:2px solid #ddd;border-radius:8px;align-items:flex-start;gap:.8rem;padding:1rem;transition:all .2s;display:flex}.import-mode-option:hover{border-color:var(--primary-color);background-color:#f5f5f5}.import-mode-option input[type=radio]{cursor:pointer;margin:.2rem 0 0}.option-content{flex:1}.option-title{color:#333;margin-bottom:.5rem;font-weight:600}.option-description{color:#666;font-size:.9rem;line-height:1.4}.import-file-input{display:none}.import-file-label{border-radius:var(--radius-sm);background-color:var(--primary-color);color:#fff;text-align:center;cursor:pointer;border:none;width:100%;padding:.8rem 1.5rem;font-size:1rem;transition:all .2s;display:inline-block}.import-file-label:hover:not(.disabled){background-color:var(--primary-dark)}.import-file-label.disabled{cursor:not-allowed;background-color:#ccc}.import-result{border-radius:var(--radius-sm);margin-top:1rem;padding:1rem}.import-result.success{border:1px solid var(--primary-color);background-color:#e8f5e8}.import-result.error{background-color:#ffebee;border:1px solid #f44336}.result-message{margin-bottom:.5rem;font-weight:600}.import-result.success .result-message{color:var(--primary-dark)}.import-result.error .result-message{color:#c62828}.import-summary{color:var(--primary-dark);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:.5rem;font-size:.9rem;display:grid}.import-errors{margin-top:.5rem}.error-message{color:#c62828;margin-bottom:.3rem;font-size:.9rem}@media (width<=768px){.import-mode-options{gap:.8rem}.import-mode-option{padding:.8rem}.import-summary{grid-template-columns:1fr}}
