:root{--text-color: #333;--text-muted-color: #888;--background-color: #f0f0f0;--sidebar-bg: #eee;--main-bg: #fff;--input-bg: #f8f8f8;--border-color: #ccc;--row-border-color: #e0e0e0;--primary-color: #5835D8;--link-color: #646cff;--link-hover-color: #535bf2;--checkmark-border: #aaa;--checkmark-checked-bg: var(--primary-color);--checkmark-checked-color: white;--sortable-ghost-bg: #f0f8ff;--editing-bg: #ffffdd;--selected-row-bg: #e8e8e8;--detail-view-bg: #fdfdfd;--detail-border-color: #ddd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:sans-serif;margin:0;display:flex;height:100vh;background-color:var(--background-color);color:var(--text-color)}#sidebar{width:200px;background-color:var(--sidebar-bg);padding:20px;box-shadow:2px 0 5px #0000001a;overflow-y:auto;display:flex;flex-direction:column;color:var(--text-color)}#sidebar ul{list-style:none;padding:0;margin:0}#sidebar li,#sidebar .sidebar-topic{padding:8px 0;cursor:pointer}#sidebar a{text-decoration:none;color:inherit}#sidebar h2{margin-top:0;font-size:1.5em}#main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--main-bg)}#chatbox{flex:1;padding:20px;overflow-y:scroll;display:flex;flex-direction:column}#chatbox p{margin-bottom:1em;font-size:1.1em}#input-area{padding:20px;border-top:1px solid var(--border-color);display:flex;background-color:var(--input-bg)}#message-input{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--main-bg);color:var(--text-color);font-size:1em}#send-button{background-color:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;margin-left:10px;font-size:1em;font-weight:500}.active-topic{font-weight:700;color:var(--primary-color)}.section-divider{margin:10px 0;border-bottom:1px solid var(--border-color);width:100%}.accordion-toggle{cursor:pointer;padding:8px 0;display:block;font-weight:700;position:relative}.accordion-toggle:after{content:"▶";position:absolute;right:5px;font-size:.8em;transition:transform .2s ease-in-out}.accordion-toggle.active:after{transform:rotate(90deg)}.accordion-content{display:none;padding-left:15px;list-style:none;margin:0}.accordion-content.show{display:block}.accordion-content .sidebar-topic{display:block;font-weight:400}#task-list{flex:1;display:flex;flex-direction:row;overflow:hidden;padding:0}#task-table-container{flex:1;padding:20px;overflow-y:auto;border-right:1px solid var(--row-border-color)}#task-detail-view{flex-basis:50%;padding:20px;overflow-y:auto;background-color:var(--detail-view-bg);border-left:1px solid var(--detail-border-color)}#task-table-container h2,#task-detail-view h2{margin-top:0;margin-bottom:15px}#task-list table{width:100%;border-collapse:collapse;border-spacing:0;border-top:1px solid var(--row-border-color)}#task-list th,#task-list td{border:none;border-bottom:1px solid var(--row-border-color);padding:10px 8px;text-align:left;vertical-align:middle}#task-list th{font-weight:700;color:var(--text-muted-color);font-size:.9em}#task-list th:nth-child(1),#task-list td:nth-child(1){width:30px;text-align:center}#task-list th:nth-child(2),#task-list td:nth-child(2){width:30px;text-align:right;color:var(--text-muted-color)}#task-list th:nth-child(3),#task-list td:nth-child(3){width:40px;text-align:center}#task-list th:nth-child(5),#task-list td:nth-child(5){width:120px}#task-list th:nth-child(6),#task-list td:nth-child(6){width:150px}#task-list th:nth-child(7),#task-list td:nth-child(7){width:60px;text-align:center}.task-name{cursor:pointer;padding:5px}.task-name:hover{background-color:#f5f5f5}.task-name.editing{background-color:var(--editing-bg);outline:1px dashed var(--border-color)}#task-table-body tr.selected{background-color:var(--selected-row-bg)!important}#task-list td input[type=date],#task-list td input[type=text]{width:100%;padding:4px;border:1px solid transparent;background-color:transparent;font-size:inherit;box-sizing:border-box}#task-list td input[type=date]:focus,#task-list td input[type=text]:focus,#task-list td input[type=date]:hover,#task-list td input[type=text]:hover{border:1px solid var(--border-color)}.task-checkbox-container{display:inline-block;cursor:pointer;width:18px;height:18px;border:1px solid var(--checkmark-border);border-radius:50%;position:relative;vertical-align:middle;background-color:transparent}.task-checkbox-container.checked{background-color:var(--checkmark-checked-bg);border-color:var(--checkmark-checked-bg)}.task-checkbox-container.checked:after{content:"✓";color:var(--checkmark-checked-color);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700}#task-table-body tr.completed td{color:var(--text-muted-color)}#task-table-body tr.completed .task-name{text-decoration:line-through}#task-list button,#task-detail-view button{margin-bottom:15px;padding:8px 15px;cursor:pointer;border-radius:5px;border:1px solid var(--border-color);background-color:#f5f5f5;font-size:.9em}#task-list button:hover,#task-detail-view button:hover{background-color:#e9e9e9}.delete-task-btn{padding:2px 5px;cursor:pointer;color:var(--text-muted-color);background:none;border:none;font-size:1.2em;line-height:1;margin-bottom:0}.delete-task-btn:hover{color:red}#task-detail-save{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}#task-detail-save:hover{background-color:var(--link-hover-color)}.drag-handle{cursor:grab;color:var(--text-muted-color);display:inline-block;width:100%;text-align:center}.drag-handle:active{cursor:grabbing}.sortable-ghost{opacity:.4;background-color:var(--sortable-ghost-bg)}#task-detail-view .detail-field{margin-bottom:15px}#task-detail-view label{display:block;margin-bottom:4px;font-weight:700;font-size:.9em;color:var(--text-muted-color)}#task-detail-view input[type=text],#task-detail-view textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;font-size:1em;box-sizing:border-box}#task-detail-view textarea{resize:vertical;min-height:100px}#task-detail-view span{font-size:.9em;color:var(--text-muted-color)}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{color:var(--link-hover-color)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
