:root{font-family:system-ui,-apple-system,'Segoe UI','Noto Sans JP',sans-serif;color:#25332f;background:#f6f8f6;font-synthesis:none;--green:#267357;--muted:#6c7973;--border:#e4eae5}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;min-height:40px;border:1px solid var(--border);border-radius:8px;background:white;color:inherit;padding:8px 13px;transition:background .15s}button:hover{background:#f0f5f1}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a4c8b4;outline-offset:3px}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:32px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-weight:750;font-size:18px;letter-spacing:.02em}.brand-icon{background:var(--green);color:white;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:26px}.brand-sub{display:block;font-size:9px;letter-spacing:2px;color:#89958e;margin-top:4px}.nav-caption{font-size:11px;color:#8b9790;letter-spacing:1px;margin:48px 10px 14px}.nav-item{display:flex;align-items:center;gap:10px;padding:13px 12px;background:#edf4ef;border-radius:9px;color:var(--green);font-size:14px;font-weight:650}.badge{margin-left:auto;background:#daeadd;border-radius:5px;padding:2px 7px;font-size:12px}.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted);padding:20px 9px 0}.sidebar-bottom p{font-size:10px;color:#98a29c;margin-top:12px}.local-dot{display:inline-block;width:6px;height:6px;background:#599573;border-radius:50%;margin-right:7px}main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:74px;background:#ffffffb8;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 42px;color:var(--muted);font-size:12px}.slash{padding:0 14px;color:#bac2bb}.content{max-width:1080px;margin:0 auto;padding:48px 42px 30px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--green);margin:0 0 12px}h1{font-size:32px;letter-spacing:.02em;margin:0 0 13px;font-weight:750}.subtitle{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.6fr;margin:32px 0 30px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:24px 0}.stats>div{padding:0 24px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats span{display:block;font-size:11px;color:var(--muted)}.stats strong{display:block;font-size:30px;font-weight:600;margin-top:12px;line-height:1.1}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.dot.active{background:#d5ae5c}.dot.done{background:#5c9b75}.progress-stat b{float:right;color:var(--green)}progress{width:100%;height:6px;appearance:none;border:0;display:block;margin:21px 0 14px;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#edf2ee}progress::-webkit-progress-value{background:#6d9e80}progress::-moz-progress-bar{background:#6d9e80}.stats small{font-size:10px;color:#96a199}.task-panel{background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 25px 18px}.panel-heading h2{font-size:17px;margin:0}.panel-heading>span{font-size:10px;color:#98a199}#add-form{margin:0 24px;display:flex;align-items:center;border:1px solid var(--border);background:#fafcf9;border-radius:9px;padding:6px;gap:6px}.input-plus{color:#a2aea6;font-size:22px;padding-left:10px}input{border:0;background:transparent;width:100%;min-width:0;padding:10px 5px;font-size:13px;color:inherit}input::placeholder{color:#96a299}.primary{background:var(--green);color:white;border-color:var(--green);white-space:nowrap}.primary:hover{background:#1d5f46}.filterbar{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 14px;border-bottom:1px solid var(--border);gap:10px}.filters{display:flex;gap:4px}.filters button{border:0;min-height:35px;font-size:12px;color:var(--muted);padding:7px 10px}.filters button[aria-pressed=true]{background:#edf4ef;color:var(--green);font-weight:650}.filters span{display:inline-block;margin-left:5px;font-size:10px;opacity:.8}.result-count{color:#8b9890;font-size:11px}ul{list-style:none;margin:0;padding:0}.todo{display:flex;align-items:center;gap:12px;padding:18px 25px;border-bottom:1px solid #eff2ef}.todo:last-child{border-bottom:0}.check{accent-color:var(--green);width:19px;height:19px;flex-shrink:0;cursor:pointer;margin:0}.todo-body{min-width:0;flex:1}.todo-title{font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.completed .todo-title{text-decoration:none;color:#94a097}.todo-meta{font-size:10px;color:#9aa59e;margin-top:4px}.completed-label{margin-right:8px;color:var(--green)}.row-actions{display:flex;gap:3px;flex-shrink:0}.row-actions button{font-size:11px;color:var(--muted);border:0;padding:6px 8px}.row-actions .delete:hover{color:#a34848;background:#fff3f1}.empty{text-align:center;padding:45px 24px 42px}.empty-icon{width:58px;height:58px;display:grid;place-items:center;font-size:27px;color:#70967e;background:#f0f5ef;border:1px solid #e1ebe0;border-radius:18px;margin:0 auto 18px;transform:rotate(-5deg)}.empty h3{font-size:16px;font-weight:600;margin:0 0 10px}.empty p{font-size:12px;color:#96a198;margin:0 0 12px}.text-button{background:transparent;border:0;color:var(--green);font-size:11px;padding:7px 5px}.panel-footer{display:flex;justify-content:space-between;padding:14px 24px;background:#fcfdfb;border-top:1px solid var(--border);font-size:10px;color:#99a59c}.bottom-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.bottom-note p{font-size:10px;color:#8c9990}.bottom-note p span{margin-right:5px}.retention{color:#99a39d;font-size:10px;margin:0}.error{font-size:12px;color:#ac3f36;margin:10px 24px;line-height:1.6}.storage-warning{background:#fff6df;border:1px solid #ecddb4;padding:16px;border-radius:10px;margin-top:18px;font-size:12px;line-height:1.7}.storage-warning p{margin:0 0 10px}.toast{position:fixed;bottom:25px;left:calc(50% + 119px);transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:12px 16px;background:#263d31;color:white;border-radius:11px;box-shadow:0 8px 25px #20372c24;max-width:90%;font-size:12px;z-index:3}.toast button{background:transparent;color:#bce2c8;border:0;padding:4px 7px;white-space:nowrap}.toast #close-toast{color:white;font-size:20px}dialog{border:1px solid var(--border);border-radius:16px;max-width:480px;width:calc(100% - 32px);padding:28px;box-shadow:0 24px 80px #1c3a302b}dialog::backdrop{background:#21332b66}dialog h2{font-size:20px;margin:0 0 20px}dialog label{display:block;font-size:12px;margin-bottom:10px}textarea{width:100%;border:1px solid #cbd8cf;border-radius:8px;padding:12px;resize:vertical;color:inherit}dialog .error{margin:10px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.danger{background:#a5443c;color:white;border-color:#a5443c}.danger:hover{background:#89382f}#delete-title{overflow-wrap:anywhere;max-height:180px;overflow:auto;font-size:14px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(max-width:1000px){.sidebar{width:195px;padding:28px 15px}main{margin-left:195px;width:calc(100% - 195px)}.content{padding:36px 26px}.topbar{padding:0 26px}.stats>div{padding:0 15px}.toast{left:calc(50% + 97px)}}@media(max-width:720px){.sidebar{position:static;width:auto;flex-direction:row;padding:18px 20px;border-right:0;border-bottom:1px solid var(--border)}.shell{display:block}.brand{font-size:15px}.brand-icon{width:32px;height:32px;font-size:22px}.brand-sub{font-size:8px}.nav-caption,.nav-item,.sidebar-bottom{display:none}main{margin:0;width:100%}.topbar{height:51px;padding:0 20px;font-size:10px}.content{padding:30px 18px}h1{font-size:25px}.subtitle{font-size:12px}.stats{grid-template-columns:repeat(3,1fr);padding:20px 0;margin:25px 0}.stats>div{padding:0 16px}.stats>div:nth-child(3){border:0}.stats .progress-stat{grid-column:1/-1;padding:20px 18px 0;margin-top:20px;border-top:1px solid var(--border)}.progress-stat small{display:none}progress{margin:14px 0 0}.panel-heading{padding:20px 17px 15px}.panel-heading>span{font-size:9px}#add-form{margin:0 16px}.primary{padding:8px 12px}.filterbar{padding:18px 12px 12px}.filters button{font-size:11px;padding:7px}.filters span{margin-left:3px}.todo{padding:16px;gap:10px;flex-wrap:wrap}.todo-title{font-size:13px}.row-actions button{padding:7px;min-height:40px}.bottom-note{align-items:flex-start;flex-direction:column;gap:0}.bottom-note p{line-height:1.8}.retention{line-height:1.8}.toast{left:50%;width:max-content;max-width:calc(100% - 24px);gap:8px}.panel-footer{padding:13px 17px}.empty{padding:36px 16px}.error{margin:10px 16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Workspaces and task metadata */
.workspace-heading{display:flex;align-items:center;justify-content:space-between;margin-top:35px;margin-bottom:12px}.workspace-heading .nav-caption{margin:0 5px}.workspace-heading button{font-size:21px;border:0;min-height:36px;padding:3px 9px;color:var(--green)}.search-input{border:1px solid var(--border);border-radius:8px;background:#fafcf9;font-size:12px;padding:10px 12px;min-height:40px}.sidebar .search-input{font-size:11px;margin-bottom:13px}#workspace-list{display:flex;flex-direction:column;gap:5px;overflow-y:auto}.workspace-nav{width:100%;display:flex;align-items:center;gap:8px;border:0;min-height:44px;text-align:left;font-size:13px;padding:11px 12px;flex-shrink:0}.workspace-nav[aria-current=page]{background:#edf4ef;color:var(--green);font-weight:650}.workspace-nav-name{overflow-wrap:anywhere;min-width:0;flex:1}.workspace-empty{font-size:11px;color:var(--muted);line-height:1.7}.workspace-title{display:flex;align-items:baseline;gap:18px}.workspace-title h1{font-size:25px;overflow-wrap:anywhere;margin:0}.workspace-title>span{font-size:11px;color:var(--muted);flex-shrink:0}.stats{margin-top:24px}.add-options{display:flex;align-items:center;gap:16px;margin:12px 24px 0;flex-wrap:wrap}.add-options label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}select,input[type=date]{border:1px solid var(--border);border-radius:7px;background:#fff;font-size:12px;color:inherit;padding:8px;min-height:36px;width:auto;min-width:0}.add-options input[type=date]{max-width:165px}.task-search-wrap{margin:20px 24px 0}.task-search-wrap input{max-width:100%}.todo-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.7}.priority-chip,.due-chip{border-radius:5px;padding:2px 6px;background:#f4f6f3;color:#637369}.priority-high{background:#fce9e6;color:#a03d31}.priority-medium{background:#fff3d8;color:#876820}.priority-low{background:#eaf1fb;color:#466d97}.overdue{background:#fff0eb;color:#a43e32}.due-today{background:#fff3d8;color:#876820}.edit-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.edit-options label:last-child{grid-column:1/-1}.edit-options select,.edit-options input{display:block;width:100%;margin-top:7px}#workspace-name{border:1px solid var(--border);border-radius:8px;margin-bottom:12px}select:focus-visible{outline:3px solid #a4c8b4;outline-offset:3px}.sidebar-bottom{flex-shrink:0}@media(max-width:720px){.sidebar{display:block}.workspace-heading{margin-top:20px}.workspace-heading .nav-caption{display:block}.sidebar .search-input{margin-bottom:10px}#workspace-list{flex-direction:row;max-height:150px;flex-wrap:wrap;overflow:auto}.workspace-nav{width:auto;max-width:100%;min-height:40px;padding:8px 12px;font-size:12px}.workspace-nav-name{max-width:210px}.workspace-title{flex-direction:column;gap:7px}.workspace-title h1{font-size:23px}.add-options{margin:12px 16px 0;gap:10px}.task-search-wrap{margin:18px 16px 0}.todo-body{min-width:150px}.row-actions{margin-left:auto}.edit-options{grid-template-columns:1fr}.edit-options label:last-child{grid-column:auto}}
/* Compact search and add controls */
.search-add-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.search-add-row .search-input{flex:1;width:0;min-width:0;margin:0}.search-add-row button{flex-shrink:0;min-height:40px;white-space:nowrap}.workspace-controls{margin-bottom:15px}.workspace-controls .add-icon{width:40px;padding:0;font-size:22px}.workspace-heading{margin-top:32px;margin-bottom:14px}.workspace-heading .nav-caption{display:block}.task-search-wrap{margin-top:0}.progress-stat progress{margin-bottom:0}.content{padding-top:36px}dialog #add-form{display:block;margin:0;padding:0;border:0;background:transparent}dialog #title{display:block;border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:9px}dialog #title-hint{font-size:11px}dialog .dialog-workspace{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:-5px 0 22px}dialog #input-error{margin:10px 0}dialog #clear-due{margin-top:5px}#add-form .primary{min-height:40px}@media(max-width:720px){.content{padding-top:26px}.workspace-heading{margin-top:22px}.task-search-wrap{margin-top:0}.sidebar .workspace-controls .search-input{margin-bottom:0}.progress-stat progress{margin-top:14px}}
/* Larger type and refined controls */
:root{font-size:16px;--muted:#58685f}.sidebar{width:280px;padding:32px 24px}.brand{font-size:22px;gap:12px}.brand-icon{width:42px;height:42px}main{margin-left:280px;width:calc(100% - 280px)}.workspace-controls{margin-top:30px;margin-bottom:18px}.sidebar .search-input{font-size:14px}.workspace-nav{font-size:16px;min-height:48px}.badge{font-size:13px}.sidebar-bottom{font-size:13px}.workspace-empty{font-size:14px}.workspace-title h1{font-size:30px}.panel-heading h2{font-size:20px}.stats span{font-size:14px;color:#58685f}.stats strong{font-size:36px}.search-input,input,textarea,select,input[type=date]{font-size:16px}.search-input{min-height:48px;background:#fff;border-color:#dce5de}.search-input::placeholder{color:#748278}.task-search-wrap{gap:12px}.filters button{font-size:15px;min-height:42px;padding:9px 13px}.filters span{font-size:13px}.result-count{font-size:14px;color:#65756b}.todo-title{font-size:17px;line-height:1.75}.todo-meta{font-size:13px;color:#65756b;gap:10px}.row-actions button{font-size:14px;padding:8px 12px}.empty h3{font-size:20px}.empty p{font-size:15px;line-height:1.8;color:#65756b}.text-button{font-size:14px}.subtitle,dialog #title-hint{font-size:14px}.bottom-note p,.retention{font-size:13px;color:#65756b;line-height:1.8}.error,.storage-warning{font-size:14px}dialog{max-width:520px;padding:30px}dialog h2{font-size:24px}dialog label{font-size:15px;font-weight:550}.edit-options{grid-template-columns:1fr 1fr}.edit-options label:last-child{grid-column:auto}dialog .dialog-workspace{font-size:14px}dialog #title{font-size:16px}button{min-height:44px;border-radius:10px}.primary{font-weight:650;border-color:transparent;background:linear-gradient(145deg,#318365,#216c50);box-shadow:0 3px 8px #216c501c}.primary:hover{background:linear-gradient(145deg,#267858,#185d42);box-shadow:0 5px 14px #216c502b}.primary:active{transform:translateY(1px)}.button-icon{width:20px;height:20px;display:block;flex-shrink:0}.create-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;font-size:15px;min-height:48px}.search-add-row button{min-height:48px}.workspace-controls .add-icon{width:48px;min-height:48px;display:grid;place-items:center;border-radius:12px}.toast{left:auto;right:28px;bottom:28px;transform:none;width:auto;max-width:min(520px,calc(100vw - 32px));background:#fff;color:#263d31;border:1px solid #dce8df;border-radius:16px;padding:14px 16px;gap:12px;box-shadow:0 12px 42px #1d3e2c1a,0 2px 6px #1d3e2c08;font-size:15px;animation:toast-enter .18s ease-out}.toast-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#edf6ef;color:#267357}.toast-icon svg{width:21px;height:21px}#toast-text{line-height:1.6;overflow-wrap:anywhere;min-width:0}.toast button{min-height:36px;font-size:14px;font-weight:650}.toast #close-toast{color:#7c8a81;width:32px;min-height:32px;display:grid;place-items:center;padding:5px;margin-left:2px;border-radius:8px}.toast #close-toast:hover{background:#f0f4f0}.toast #close-toast svg{width:19px;height:19px}@keyframes toast-enter{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media(max-width:1100px) and (min-width:721px){.sidebar{width:260px;padding:28px 20px}main{margin-left:260px;width:calc(100% - 260px)}.stats>div{padding:0 16px}.stats{grid-template-columns:repeat(3,1fr)}.stats>div:nth-child(3){border:0}.stats .progress-stat{grid-column:1/-1;border-top:1px solid var(--border);padding-top:18px;margin-top:20px}.progress-stat progress{margin-top:14px}}@media(max-width:720px){.sidebar{width:auto;padding:22px 20px}.brand{font-size:21px}.brand-icon{width:38px;height:38px}.workspace-controls{margin-top:22px}.sidebar .search-input{font-size:16px}main{margin:0;width:100%}.workspace-nav{font-size:15px;min-height:44px}.workspace-title h1{font-size:28px}.stats span{font-size:13px}.stats strong{font-size:32px}.stats>div{padding:0 12px}.panel-heading h2{font-size:19px}.filters{gap:2px}.filters button{font-size:14px;padding:8px}.filters span{font-size:12px}.result-count{font-size:13px}.create-button{padding:12px;font-size:14px;gap:5px}.task-search-wrap{gap:8px}.todo-title{font-size:16px}.todo-meta{font-size:13px}.row-actions button{font-size:14px}.toast{left:auto;right:16px;bottom:16px;width:auto;max-width:calc(100vw - 32px);gap:8px;padding:12px;font-size:14px}.toast-icon{width:30px;height:30px}.edit-options{grid-template-columns:1fr}.sidebar-bottom{display:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.primary:active{transform:none}}
.period-fields{border:1px solid var(--border);border-radius:12px;margin:16px 0 0;padding:14px 16px 6px;min-width:0}.period-fields legend{font-size:15px;font-weight:550;padding:0 6px}.period-fields legend span{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.period-inputs{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px;align-items:end}.period-inputs label{font-size:14px;margin:0;min-width:0}.period-inputs input{display:block;width:100%;margin-top:8px}.period-separator{text-align:center;padding-bottom:11px;color:var(--muted)}.period-fields .text-button{margin-top:7px}.period-active{background:#eaf4ed;color:#267357}.period-upcoming{background:#edf1f7;color:#536d8b}@media(max-width:420px){.period-fields{padding:12px 10px 5px}.period-inputs{gap:4px;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)}.period-inputs input{font-size:14px;padding:7px 4px}}
.edit-dates{display:flex;flex-wrap:wrap;gap:6px 16px;margin:-9px 0 22px;font-size:13px;color:var(--muted);line-height:1.7}.edit-dates time{display:inline-flex;align-items:center}.edit-dates time::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#90a799;margin-right:7px}.todo-meta:empty{display:none}
dialog #title.task-name-input,dialog #edit-title.task-name-input{display:block;width:100%;height:104px;min-height:104px;margin:0;border:1px solid #cbd8cf;border-radius:8px;padding:12px;font:inherit;font-size:16px;line-height:1.6;resize:vertical;color:inherit;background:white}
.bottom-note{flex-direction:row;justify-content:flex-end}.bottom-note #export{margin-left:auto}
.todo.completed{background:#f0f7f2;border-left:3px solid #6aa982;padding-left:22px}.completed .todo-title{color:#7a8b80;text-decoration:none}.completed-label{display:inline;color:#527a60;font-size:13px;font-weight:400;background:transparent;border:0;padding:0;border-radius:0;margin-right:8px}@media(max-width:720px){.todo.completed{padding-left:13px}}

.filterbar{flex-wrap:wrap;gap:12px}.list-controls{display:flex;align-items:center;gap:14px;margin-left:auto}.sort-control{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.sort-control select{font-size:14px;min-height:40px;max-width:210px;padding:8px 10px;background:#fff;border:1px solid #dce5de}.result-count{white-space:nowrap}@media(max-width:900px){.list-controls{width:100%;justify-content:space-between}.sort-control select{max-width:195px}}@media(max-width:420px){.sort-control{gap:5px}.sort-control select{font-size:13px;max-width:185px}}
.panel-heading{gap:16px;flex-wrap:wrap}.panel-heading .sort-control{margin-left:auto}.filterbar .result-count{margin-left:auto}@media(max-width:720px){.panel-heading{align-items:flex-start;flex-direction:column;gap:14px}.panel-heading .sort-control{margin-left:0;justify-content:space-between;width:100%}.panel-heading .sort-control select{max-width:none;flex:1;margin-left:10px}}
.incomplete-label{display:inline;color:#806c38;font-size:13px;font-weight:400;margin-right:8px}
:root{--list-action-width:144px}.panel-heading{padding-right:24px}.panel-heading .sort-control{width:var(--list-action-width);flex:0 0 var(--list-action-width)}.panel-heading .sort-control select{width:100%;max-width:none;min-height:48px;margin:0;font-size:14px}.task-search-wrap #new-task{width:var(--list-action-width);flex:0 0 var(--list-action-width);justify-content:center;padding-inline:12px;font-size:14px}@media(max-width:720px){:root{--list-action-width:144px}.panel-heading{flex-direction:row;align-items:center;padding-right:16px;padding-left:16px;gap:10px}.panel-heading .sort-control{margin-left:auto;width:var(--list-action-width);flex:0 0 var(--list-action-width)}.panel-heading .sort-control select{margin:0;font-size:14px}.panel-heading h2{font-size:18px}.task-search-wrap #new-task{font-size:14px}}

/* All-workspace Gantt view */
.gantt-nav{display:flex;align-items:center;gap:10px;width:100%;margin-top:26px;border:1px solid #dce7df;background:#f8faf8;font-size:15px;font-weight:600;color:#426453;text-align:left;padding:12px 14px}.gantt-nav[aria-pressed=true]{background:#e7f1e9;border-color:#bcd5c4;color:#236849}.gantt-nav span{font-size:21px}.gantt-nav+.sr-only+.workspace-controls{margin-top:22px}.gantt-screen{padding:36px 28px;max-width:none}.gantt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.gantt-heading h1{font-size:28px;margin:0 0 8px}.gantt-heading p{font-size:14px;color:var(--muted);margin:0}.gantt-legend{display:flex;gap:18px;font-size:13px;color:var(--muted);flex-wrap:wrap}.gantt-legend span{display:flex;gap:7px;align-items:center}.gantt-legend i{width:22px;height:10px;border-radius:4px;display:inline-block}.legend-active{background:#4382b6}.legend-done{background:#5b9873}.legend-today{background:#f7e3a2}.gantt-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:white;border:1px solid var(--border);border-radius:12px;padding:16px}.gantt-toolbar label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.gantt-toolbar input{font-size:14px;min-height:44px}.gantt-toolbar>span{padding-bottom:14px;color:#87958b}.gantt-toolbar button{font-size:14px}.gantt-caption{display:flex;justify-content:space-between;gap:12px;margin:18px 0 10px;font-size:12px;color:var(--muted);line-height:1.7;flex-wrap:wrap}.gantt-scroll{max-height:calc(100vh - 285px);min-height:230px;overflow:auto;border:1px solid #dce5de;border-radius:12px;background:#fff;overscroll-behavior:contain}.gantt-table{table-layout:fixed;border-spacing:0;font-size:13px;min-width:100%;border-collapse:separate}.gantt-table th,.gantt-table td{padding:0;vertical-align:middle;border-right:1px solid #e2e8e3;border-bottom:1px solid #e2e8e3}.gantt-corner{position:sticky;left:0;top:0;width:300px;min-width:300px;background:#f5f8f4;z-index:6;font-size:14px;text-align:left;padding:16px!important;color:#526658;height:84px;box-shadow:2px 0 0 #e2e8e3}.gantt-months th:not(.gantt-corner){position:sticky;top:0;height:34px;background:#f5f8f4;z-index:4;text-align:left;padding:7px 12px;color:#496654;font-size:13px;font-weight:600}.gantt-dates th{position:sticky;top:34px;background:#fff;z-index:4;width:36px;height:50px;text-align:center;font-weight:400}.gantt-day span{display:block;font-size:13px}.gantt-day small{display:block;font-size:11px;margin-top:3px;color:#809084}.gantt-day.weekend{background:#f3f6f4}.gantt-day.today{background:#fff0ba;color:#785817;font-weight:700}.gantt-label{position:sticky;left:0;width:300px;background:#fff;z-index:2;text-align:left;font-weight:400;box-shadow:2px 0 0 #e2e8e3}.gantt-group .gantt-label{background:#f3f7f2}.gantt-group-toggle{border:0;border-radius:0;background:transparent;display:flex;align-items:center;gap:10px;width:100%;text-align:left;min-height:44px;padding:10px 14px;color:#344f3e;font-size:14px;font-weight:650}.gantt-group-name{flex:1;min-width:0;overflow-wrap:anywhere}.gantt-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.gantt-caret::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}.gantt-group-toggle[aria-expanded="true"] .gantt-caret{transform:rotate(90deg)}.gantt-group-count{font-size:12px;font-weight:400;color:#7c8b80;flex-shrink:0}.gantt-track{position:relative;height:62px;background:repeating-linear-gradient(to right,transparent 0,transparent 35px,#e6ebe6 35px,#e6ebe6 36px);overflow:hidden}.gantt-group .gantt-track{height:44px;background-color:#f8faf6}.gantt-weekend-col,.gantt-today-col{position:absolute;top:0;bottom:0;background:#f3f6f3}.gantt-today-col{background:#fff3c5}.gantt-bar{position:absolute;top:21px;height:20px;min-height:20px;border:0;border-radius:5px;z-index:1;margin:0;padding:0;box-shadow:inset 0 0 0 1px #00000008;cursor:pointer}.gantt-active{background:#4382b6;color:white}.gantt-active:hover{background:#2f6fa2}.gantt-done{background:#5b9873;color:white}.gantt-done:hover{background:#41805b}.gantt-bar-mark{display:block;font-size:13px;line-height:20px;text-align:center}.gantt-partial{background-image:repeating-linear-gradient(135deg,transparent 0,transparent 4px,#ffffff35 4px,#ffffff35 8px);border:1px dashed #ffffffad}.gantt-summary{top:20px;height:4px;min-height:4px;background:#829e8a;border-radius:1px;cursor:default}.clipped-start{border-top-left-radius:0;border-bottom-left-radius:0}.clipped-end{border-top-right-radius:0;border-bottom-right-radius:0}.gantt-task-name{border:0;background:transparent;text-align:left;display:block;max-width:100%;width:100%;font-size:14px;min-height:0;padding:9px 16px 0;border-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-task-name:hover{background:#f6faf6;color:#236849}.gantt-task-detail{font-size:11px;color:#7b8a80;padding:4px 16px 9px;line-height:1.4}.gantt-task-row.is-done .gantt-label{background:#fff}.gantt-task-row.is-done .gantt-task-name{color:#7a8b80}.gantt-no-period{position:relative;z-index:1;display:inline-block;font-size:12px;color:#87948b;padding:22px 14px}.gantt-empty-label{padding:12px 16px!important;color:#8d9a91;font-size:12px}.gantt-empty-track{height:44px}.global-storage{padding:0 28px 20px}.global-storage:has([hidden]){padding:0}.gantt-bar:focus-visible{outline:3px solid #244b36;outline-offset:2px}@media(max-width:720px){.gantt-screen{padding:26px 16px}.gantt-heading{flex-direction:column;align-items:flex-start;gap:16px}.gantt-heading h1{font-size:26px}.gantt-toolbar{gap:8px;padding:12px}.gantt-toolbar label{flex:1;min-width:120px}.gantt-toolbar input{width:100%;font-size:14px}.gantt-toolbar>span{display:none}.gantt-toolbar button{flex:1;white-space:nowrap}.gantt-caption{font-size:11px}.gantt-scroll{max-height:65vh}.gantt-corner,.gantt-label{width:210px;min-width:210px}.gantt-task-name{font-size:13px}.gantt-group-toggle{font-size:13px}.gantt-legend{gap:14px}.gantt-nav{margin-top:20px}.global-storage{padding:0 16px 16px}}
.gantt-scroll{--gantt-label-width:300px}.gantt-table{width:calc(var(--gantt-label-width) + var(--gantt-days) * 36px);min-width:0}.gantt-corner,.gantt-label{width:var(--gantt-label-width);min-width:var(--gantt-label-width)}@media(max-width:720px){.gantt-scroll{--gantt-label-width:210px}}
.sidebar .gantt-nav{margin-top:auto;flex-shrink:0}.sidebar #workspace-list{margin-bottom:22px;min-height:0}.gantt-active,.legend-active{background:#c3dec8;color:#356543}.gantt-active:hover{background:#adcfb6}.gantt-done,.legend-done{background:#4e8863;color:white}.gantt-done:hover{background:#3c734f}.gantt-bar{border-radius:999px}.gantt-bar.clipped-start{border-top-left-radius:0;border-bottom-left-radius:0}.gantt-bar.clipped-end{border-top-right-radius:0;border-bottom-right-radius:0}.gantt-summary{border-radius:0;background:#658c70;height:2px;min-height:2px;top:21px;box-shadow:none;overflow:visible}.gantt-endpoint{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:#658c70;translate:0 -50%}.gantt-endpoint-start{left:0}.gantt-endpoint-end{right:0}.legend-active,.legend-done{border-radius:0}@media(max-width:720px){.sidebar .gantt-nav{margin-top:18px}.sidebar #workspace-list{margin-bottom:0}}
/* Period controls occupy the chart's top-left corner */
.gantt-scroll{--gantt-label-width:420px;max-height:calc(100vh - 200px)}.gantt-corner{padding:12px 14px!important;height:106px;background:#fff}.gantt-corner .gantt-toolbar{display:block;border:0;border-radius:0;background:transparent;padding:0;margin:0}.range-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:13px;font-weight:500;color:var(--muted)}.range-presets{display:flex;gap:4px}.range-presets button{min-height:26px;border:0;background:transparent;font-size:12px;color:var(--green);padding:3px 6px}.range-input-row{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}.gantt-corner .gantt-toolbar .range-input-row label{min-width:0;flex:1;display:block}.gantt-corner .gantt-toolbar input{font-size:13px;width:100%;min-height:38px;padding:7px 8px}.range-input-row>span{font-size:13px;color:var(--muted)}.gantt-corner .gantt-toolbar .range-input-row>button{min-height:38px;font-size:13px;padding:7px 12px;flex-shrink:0}.gantt-months th:not(.gantt-corner){height:38px}.gantt-dates th{top:38px;height:68px}.gantt-caption{margin-top:0}@media(max-width:720px){.gantt-scroll{--gantt-label-width:350px;max-height:70vh}.gantt-corner{padding:12px 10px!important}.range-input-row{gap:5px}.gantt-corner .gantt-toolbar input{font-size:12px;padding:7px 4px}.gantt-corner .gantt-toolbar .range-input-row>button{flex:0 0 auto;padding:7px 9px}.gantt-corner .gantt-toolbar label{flex:1;min-width:0}.gantt-corner .gantt-toolbar .range-input-row>span{display:block}}
.completed .todo-title{color:inherit}.gantt-task-row.is-done .gantt-task-name{color:inherit}
@media(max-width:420px){.gantt-scroll{--gantt-label-width:180px}.gantt-corner{height:154px}.gantt-corner .range-input-row{flex-direction:column;align-items:stretch;gap:6px}.gantt-corner .gantt-toolbar .range-input-row>span{display:none}.gantt-corner .gantt-toolbar .range-input-row label{width:100%;flex:none}.gantt-corner .gantt-toolbar input{font-size:13px;padding:7px 6px}.gantt-dates th{height:116px}.range-heading{font-size:12px}.range-presets{gap:0}.range-presets button{padding:3px 4px}.gantt-task-name{padding-left:10px;padding-right:10px}.gantt-task-detail{padding-left:10px;padding-right:10px}.gantt-group-toggle{padding-left:10px;padding-right:10px;gap:6px}}
