:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}button,input,textarea,select{font-family:inherit}.dark{color-scheme:dark}.dark :root{color:#fff;background-color:#1a1a1a}.dark body{background-color:#1a1a1a;color:#fff}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background-color:#fff;border-top:1px solid #e0e0e0;padding:.5rem 0;z-index:1000;box-shadow:0 -2px 8px #0000001a}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;border:none;background:none;cursor:pointer;color:#666;font-size:.75rem;transition:all .2s;position:relative;flex:1}.nav-item:active{opacity:.7}.nav-item.active{color:#007aff}.nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:3rem;height:3px;background-color:#007aff;border-radius:0 0 3px 3px}.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.nav-label{font-size:.7rem}.dark .bottom-nav{background-color:#1a1a1a;border-top-color:#333}.dark .nav-item{color:#999}.dark .nav-item.active{color:#0a84ff}.dark .nav-item.active:before{background-color:#0a84ff}.todo-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;gap:1rem;min-height:5rem}.todo-content{flex:1;min-width:0}.todo-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;word-wrap:break-word}.todo-description{margin:0 0 .5rem;font-size:.9rem;color:#666;word-wrap:break-word}.todo-due-date{font-size:.8rem;color:#007aff;font-weight:500;display:block;min-height:1.2rem}.todo-due-date.expired{color:#ff3b30}.todo-due-date.no-due-date{color:#999;font-style:italic;font-weight:400}.todo-actions{display:flex;gap:.5rem;flex-shrink:0}.todo-action-button{width:2.5rem;height:2.5rem;border:none;border-radius:6px;background-color:#f5f5f5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#333}.todo-action-button:active{opacity:.7}.complete-button svg{color:#fff}.edit-button:hover{background-color:#e0e0e0}.dark .todo-item{background-color:#2a2a2a;border-color:#444}.dark .todo-title{color:#fff}.dark .todo-description{color:#aaa}.dark .todo-due-date{color:#0a84ff}.dark .todo-due-date.no-due-date{color:#666}.dark .todo-action-button{background-color:#3a3a3a;color:#fff}.dark .edit-button{color:#fff}.dark .edit-button:hover{background-color:#4a4a4a}.dark .todo-due-date.expired{color:#ff453a}.todo-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#333}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007aff}.form-group textarea{resize:vertical;min-height:4rem}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.cancel-button,.submit-button{flex:1;padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s}.submit-button{background-color:#007aff;color:#fff}.cancel-button:active,.submit-button:active{opacity:.7}.dark .todo-form{background-color:#2a2a2a;border-color:#444}.dark .form-group label{color:#fff}.dark .form-group input,.dark .form-group textarea{background-color:#1a1a1a;border-color:#444;color:#fff}.dark .form-group input:focus,.dark .form-group textarea:focus{border-color:#0a84ff}.dark .submit-button{background-color:#0a84ff}.todos-tab{padding:1rem 1rem 5rem;max-width:100%}.todos-header{margin-bottom:1.5rem}.todos-header h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.controls-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filter-container{margin-bottom:0}.filter-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer;accent-color:#007aff}.filter-checkbox span{color:#666}.sort-controls{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}@media(max-width:480px){.controls-row{flex-direction:column;align-items:stretch;gap:.75rem}.sort-controls{flex:none}.filter-container{margin-bottom:0}}.sort-buttons{display:flex;gap:.25rem;background-color:#f5f5f5;border-radius:8px;padding:.25rem}.sort-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;background:transparent;color:#666;cursor:pointer;transition:all .2s}.sort-button:hover{color:#333}.sort-button.active{background-color:#fff;color:#007aff;box-shadow:0 1px 2px #0000001a}.sort-direction-button{width:2.25rem;height:2.25rem;border:1px solid #ddd;border-radius:6px;background-color:#fff;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sort-direction-button:hover{border-color:#007aff;color:#007aff}.todos-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.add-button{position:fixed;bottom:6.5rem;right:1rem;width:3.5rem;height:3.5rem;border-radius:50%;background-color:#007aff;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #007aff66;z-index:100;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.add-button:active{transform:scale(.9)}.add-button:hover{box-shadow:0 6px 16px #007aff80}.dark .sort-buttons{background-color:#2a2a2a}.dark .sort-button{color:#aaa}.dark .sort-button:hover{color:#fff}.dark .sort-button.active{background-color:#1a1a1a;color:#0a84ff}.dark .sort-direction-button{background-color:#2a2a2a;border-color:#444;color:#aaa}.dark .sort-direction-button:hover{border-color:#0a84ff;color:#0a84ff}.dark .filter-checkbox span{color:#aaa}.dark .filter-checkbox input[type=checkbox]{accent-color:#0a84ff}.dark .add-button{background-color:#0a84ff;box-shadow:0 4px 12px #0a84ff66}.dark .add-button:hover{box-shadow:0 6px 16px #0a84ff80}.completed-tab{padding:1rem 1rem 5rem;max-width:100%}.completed-tab h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.search-container{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;background-color:#fff;transition:border-color .2s}.search-input:focus{outline:none;border-color:#007aff}.search-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.completed-list{display:flex;flex-direction:column;gap:.75rem}.empty-state{text-align:center;color:#999;padding:2rem;font-style:italic}.completed-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;gap:1rem}.completed-content{flex:1;min-width:0}.completed-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;text-decoration:line-through;color:#666;word-wrap:break-word}.completed-description{margin:0 0 .5rem;font-size:.9rem;color:#999;word-wrap:break-word}.completed-date{font-size:.8rem;color:#999}.completed-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.completed-action-button{padding:.5rem .75rem;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:opacity .2s;white-space:nowrap;display:flex;align-items:center;gap:.4rem}.completed-action-button:active{opacity:.7}.restore-button{background-color:#007aff;color:#fff}.delete-button{background-color:#ff3b30;color:#fff}.dark .empty-state{color:#666}.dark .completed-item{background-color:#2a2a2a;border-color:#444}.dark .completed-title{color:#666}.dark .completed-description{color:#555}.dark .completed-date{color:#666}.dark .restore-button{background-color:#0a84ff}.dark .delete-button{background-color:#ff453a}.dark .search-input{background-color:#2a2a2a;border-color:#444;color:#fff}.dark .search-input:focus{border-color:#0a84ff}.dark .search-icon{color:#666}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{width:2rem;height:2rem;border:none;background:none;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s;flex-shrink:0;margin-left:1rem}.modal-close:hover{background-color:#f5f5f5}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-view{display:flex;flex-direction:column;gap:1rem}.modal-todo-title{font-size:1.1rem;font-weight:600;color:#333;word-wrap:break-word}.modal-todo-description{font-size:.95rem;color:#666;line-height:1.5;word-wrap:break-word}.modal-todo-due-date{font-size:.9rem;color:#007aff;font-weight:500}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-form label{font-size:.9rem;font-weight:500;color:#333}.modal-form input,.modal-form textarea{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;width:100%;box-sizing:border-box}.modal-form input:focus,.modal-form textarea:focus{outline:none;border-color:#007aff}.modal-form textarea{resize:vertical;min-height:4rem}.date-time-inputs{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.date-time-inputs input[type=date]{flex:1;min-width:0}.date-time-inputs input[type=time]{flex:0 0 auto;min-width:0;max-width:8rem;width:auto}.modal-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e0e0e0}.modal-button{flex:1;padding:.75rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .2s}.modal-button:active{opacity:.7}.cancel-button{background-color:#f5f5f5;color:#333}.save-button,.edit-button{background-color:#007aff;color:#fff}.complete-button{background-color:#34c759;color:#fff}.dark .modal-content{background-color:#2a2a2a}.dark .modal-header{border-bottom-color:#444}.dark .modal-header h2{color:#fff}.dark .modal-close{color:#aaa}.dark .modal-close:hover{background-color:#3a3a3a}.dark .modal-todo-title{color:#fff}.dark .modal-todo-description{color:#aaa}.dark .modal-todo-due-date{color:#0a84ff}.dark .modal-form label{color:#fff}.dark .modal-form input,.dark .modal-form textarea{background-color:#1a1a1a;border-color:#444;color:#fff}.dark .modal-form input:focus,.dark .modal-form textarea:focus{border-color:#0a84ff}.dark .modal-actions{border-top-color:#444}.dark .cancel-button{background-color:#3a3a3a;color:#fff}.dark .save-button,.dark .edit-button{background-color:#0a84ff}.dark .complete-button{background-color:#30d158}.calendar-tab{padding:1rem 1rem 5rem;max-width:100%}.calendar-header{margin-bottom:1.5rem}.calendar-header h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.calendar-view-selector{display:flex;gap:.5rem;background-color:#f5f5f5;border-radius:8px;padding:.25rem}.view-button{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;background:transparent;color:#666;cursor:pointer;transition:all .2s}.view-button:hover{color:#333}.view-button.active{background-color:#fff;color:#007aff;box-shadow:0 1px 2px #0000001a}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.nav-button{width:2.5rem;height:2.5rem;border:1px solid #ddd;border-radius:6px;background-color:#fff;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-button:hover{border-color:#007aff;color:#007aff}.today-button{flex:1;padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;background-color:#fff;color:#333;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.today-button:hover{border-color:#007aff;color:#007aff}.calendar-content{min-height:20rem}.calendar-empty{text-align:center;color:#999;padding:2rem;font-style:italic}.agenda-view{display:flex;flex-direction:column;gap:1.5rem}.agenda-day{border-bottom:1px solid #e0e0e0;padding-bottom:1rem}.agenda-day:last-child{border-bottom:none}.agenda-day-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.agenda-date{font-size:1rem;font-weight:600;color:#333}.agenda-date.today{color:#007aff}.today-badge{padding:.25rem .5rem;background-color:#007aff;color:#fff;border-radius:4px;font-size:.7rem;font-weight:500}.agenda-todos{display:flex;flex-direction:column;gap:.75rem}.agenda-todo-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background-color:#f9f9f9;border-radius:6px;gap:.75rem}.agenda-todo-content{flex:1;cursor:pointer}.agenda-todo-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:#333;transition:color .2s}.agenda-todo-content:hover .agenda-todo-title{color:#007aff}.agenda-todo-content p{margin:0;font-size:.85rem;color:#666}.agenda-complete-button{width:2rem;height:2rem;border:none;border-radius:4px;background-color:#34c759;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.agenda-complete-button:active{opacity:.7}.day-view{display:flex;flex-direction:column}.day-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.day-header h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.day-date{margin:0;font-size:.9rem;color:#666}.day-todos{display:flex;flex-direction:column;gap:.75rem}.day-todo-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:#f9f9f9;border-radius:8px;cursor:pointer;transition:background-color .2s}.day-todo-item:hover{background-color:#f0f0f0}.day-todo-time{font-size:.9rem;font-weight:600;color:#007aff;min-width:4rem}.day-todo-content{flex:1}.day-todo-title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#333;transition:color .2s}.day-todo-item:hover .day-todo-title{color:#007aff}.day-todo-content p{margin:0;font-size:.9rem;color:#666}.day-complete-button{width:2rem;height:2rem;border:none;border-radius:4px;background-color:#34c759;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.day-complete-button:active{opacity:.7}.week-view{display:flex;flex-direction:column}.week-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.week-day-header{padding:.75rem .5rem;text-align:center;border-radius:6px;background-color:#f5f5f5}.week-day-header.today{background-color:#e3f2fd}.week-day-name{font-size:.75rem;font-weight:600;color:#666;margin-bottom:.25rem}.week-day-header.today .week-day-name{color:#007aff}.week-day-date{font-size:1.1rem;font-weight:600;color:#333}.week-day-header.today .week-day-date{color:#007aff}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;min-height:20rem}.week-day-column{min-height:20rem;padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;background-color:#fafafa}.week-day-column.today{background-color:#f0f7ff;border-color:#007aff}.week-todo-item{padding:.5rem;margin-bottom:.5rem;background-color:#fff;border-left:3px solid #007aff;border-radius:4px;font-size:.85rem;cursor:pointer;transition:box-shadow .2s,transform .2s}.week-todo-item:hover{box-shadow:0 2px 4px #0000001a;transform:translate(2px)}.week-todo-item:active{box-shadow:0 2px 4px #0000001a}.week-todo-time{font-size:.75rem;font-weight:600;color:#007aff;margin-bottom:.25rem}.week-todo-title{font-weight:500;color:#333}.dark .calendar-view-selector{background-color:#2a2a2a}.dark .view-button{color:#aaa}.dark .view-button:hover{color:#fff}.dark .view-button.active{background-color:#1a1a1a;color:#0a84ff}.dark .nav-button,.dark .today-button{background-color:#2a2a2a;border-color:#444;color:#aaa}.dark .nav-button:hover,.dark .today-button:hover{border-color:#0a84ff;color:#0a84ff}.dark .calendar-empty{color:#666}.dark .agenda-day{border-bottom-color:#444}.dark .agenda-date{color:#fff}.dark .agenda-todo-item{background-color:#2a2a2a}.dark .agenda-todo-title{color:#fff}.dark .agenda-todo-content:hover .agenda-todo-title{color:#0a84ff}.dark .agenda-todo-content p{color:#aaa}.dark .day-header{border-bottom-color:#444}.dark .day-header h2{color:#fff}.dark .day-date{color:#aaa}.dark .day-todo-item{background-color:#2a2a2a}.dark .day-todo-title{color:#fff}.dark .day-todo-item:hover{background-color:#333}.dark .day-todo-item:hover .day-todo-title{color:#0a84ff}.dark .day-todo-content p{color:#aaa}.dark .week-day-header{background-color:#2a2a2a}.dark .week-day-header.today{background-color:#1a3a5a}.dark .week-day-name{color:#aaa}.dark .week-day-date{color:#fff}.dark .week-day-column{background-color:#1a1a1a;border-color:#444}.dark .week-day-column.today{background-color:#1a2a3a;border-color:#0a84ff}.dark .week-todo-item{background-color:#2a2a2a}.dark .week-todo-title{color:#fff}.settings-tab{padding:1rem 1rem 5rem;max-width:100%}.settings-tab h1{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.settings-list{display:flex;flex-direction:column;gap:1rem}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;gap:1rem}.settings-item-content{flex:1}.settings-item-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.settings-item-content p{margin:0;font-size:.85rem;color:#666}.settings-button,.settings-select{padding:.75rem 1.25rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s,border-color .2s;white-space:nowrap;background-color:#fff;color:#333;font-family:inherit}.settings-select{min-width:8rem}.settings-select:focus{outline:none;border-color:#007aff}.settings-button{border:none}.settings-button:active:not(:disabled){opacity:.7}.settings-button:disabled{opacity:.5;cursor:not-allowed}.export-button{background-color:#007aff;color:#fff}.import-button{background-color:#34c759;color:#fff}.calendar-button{background-color:#ff9500;color:#fff}.signout-button{background-color:#ff3b30;color:#fff}.dark .settings-item{background-color:#2a2a2a;border-color:#444}.dark .settings-item-content h3{color:#fff}.dark .settings-item-content p{color:#aaa}.dark .export-button{background-color:#0a84ff}.dark .import-button{background-color:#30d158}.dark .calendar-button{background-color:#ff9f0a}.dark .signout-button{background-color:#ff453a}.dark .settings-select{background-color:#2a2a2a;border-color:#444;color:#fff}.dark .settings-select:focus{border-color:#0a84ff}.auth-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.auth-modal{background:var(--bg-color, #ffffff);border-radius:12px;padding:2rem;width:100%;max-width:400px;box-shadow:0 4px 6px #0000001a}.auth-modal-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;text-align:center;color:var(--text-color, #000000)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form-group label{font-size:.875rem;font-weight:500;color:var(--text-color, #000000)}.auth-form-group input[type=email],.auth-form-group input[type=password]{padding:.75rem;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:1rem;background:var(--bg-color, #ffffff);color:var(--text-color, #000000);transition:border-color .2s}.auth-form-group input[type=email]:focus,.auth-form-group input[type=password]:focus{outline:none;border-color:var(--primary-color, #007bff)}.auth-form-group input:disabled{opacity:.6;cursor:not-allowed}.auth-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.auth-checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.auth-error{padding:.75rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:6px;color:#dc2626;font-size:.875rem}.auth-submit-button{padding:.75rem;background:var(--primary-color, #007bff);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-submit-button:hover:not(:disabled){background:var(--primary-hover-color, #0056b3)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:1.5rem;text-align:center}.auth-switch-button{background:none;border:none;color:var(--primary-color, #007bff);cursor:pointer;font-size:.875rem;text-decoration:underline;padding:0}.auth-switch-button:hover:not(:disabled){color:var(--primary-hover-color, #0056b3)}.auth-switch-button:disabled{opacity:.6;cursor:not-allowed}.auth-confirmation{padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;margin-bottom:.5rem}.auth-confirmation-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#16a34a}.auth-confirmation-message{margin:0;font-size:.875rem;color:#15803d;line-height:1.5}@media(prefers-color-scheme:dark){.auth-modal{background:var(--bg-color, #1a1a1a)}.auth-form-group input[type=email],.auth-form-group input[type=password]{border-color:var(--border-color, #404040)}}.theme-toggle{position:fixed;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:none;border-radius:50%;background-color:#f5f5f5;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:background-color .2s,transform .2s;box-shadow:0 2px 4px #0000001a}.theme-toggle:active{transform:scale(.95)}.theme-toggle:hover{background-color:#e0e0e0}.dark .theme-toggle{background-color:#2a2a2a;color:#fff}.dark .theme-toggle:hover{background-color:#3a3a3a}.app{display:flex;flex-direction:column;min-height:100vh;max-width:100vw;overflow-x:hidden}.app-content{flex:1;overflow-y:auto;padding-bottom:4rem}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;overflow-x:hidden;overscroll-behavior-y:contain}@supports (padding: max(0px)){.app{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.app-content{padding-bottom:max(4rem,calc(4rem + env(safe-area-inset-bottom)))}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.125rem;color:var(--text-color, #000000)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem;vertical-align:middle}.sync-indicator{position:fixed;top:1rem;right:1rem;background:var(--primary-color, #007bff);color:#fff;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;z-index:100;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;gap:.5rem}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;gap:1rem}.dark .loading-overlay{background:#1a1a1ae6}.loading-overlay-spinner{width:3rem;height:3rem;border:4px solid var(--border-color, #e0e0e0);border-top-color:var(--primary-color, #007bff);border-radius:50%;animation:spin .8s linear infinite}.dark .loading-overlay-spinner{border-color:#404040;border-top-color:var(--primary-color, #007bff)}.loading-overlay-text{font-size:1rem;color:var(--text-color, #000000);font-weight:500}.dark .loading-overlay-text{color:#fff}
