html,body{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.min-vh-100{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bs-secondary-bg)}::-webkit-scrollbar-thumb{background:var(--bs-border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bs-secondary-color)}.fab{z-index:1000;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #00000026}.todo-item{transition:all .2s}.todo-item:hover{background-color:var(--bs-tertiary-bg)}.project-item{cursor:pointer;border-left:4px solid #0000;transition:all .2s}.project-item:hover{background-color:var(--bs-tertiary-bg)}.project-item.active{background-color:var(--bs-primary-bg-subtle);border-left-color:var(--bs-primary);color:inherit}.sidebar{border-right:1px solid var(--bs-border-color);height:calc(100vh - 56px);overflow-y:auto}.main-content{height:calc(100vh - 56px);overflow-y:auto}.loading-overlay{background:var(--bs-body-bg);opacity:.8;z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes strikethrough{0%{text-decoration-color:#0000}to{text-decoration-color:currentColor}}.todo-completed{color:var(--bs-secondary-color);text-decoration:line-through;animation:.3s ease-in strikethrough}@media (max-width:767.98px){.sidebar{border-right:none;border-bottom:1px solid var(--bs-border-color);height:auto}.main-content{height:auto}.fab{display:flex}}@media (min-width:768px){.fab{display:none}}.drag-handle{cursor:grab;opacity:.4;transition:opacity .2s}.drag-handle:hover{opacity:1}.drag-handle:active{cursor:grabbing}.dragging{opacity:.5;box-shadow:0 5px 15px #00000026}.drag-overlay{cursor:grabbing}.drop-indicator-top{border-top:2px solid #0d6efd}.drop-indicator-bottom{border-bottom:2px solid #0d6efd}
