*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#233146;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;transition:background .16s,transform .16s}button:focus-visible,a:focus-visible{outline:3px solid #92b5ff;outline-offset:3px}button:disabled{opacity:.27;cursor:default}aside{width:244px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid #e7ecf3;padding:36px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#20314c;text-decoration:none;font-weight:750;font-size:26px}.logo{background:#2877ed;color:white;border-radius:12px;display:grid;place-items:center;width:40px;height:40px;font-size:25px}.beta{font-size:10px;font-weight:500;color:#7c8ca0;background:#f2f5f9;padding:4px 6px;border-radius:5px}.aside-label{font-size:11px;color:#98a3b3;margin:54px 14px 18px;letter-spacing:2px}.nav{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 14px;border-radius:10px;background:white;color:#66748a;margin-bottom:7px;text-align:left}.nav.active{color:#256ddd;background:#edf4ff;font-weight:600}.nav b{font-size:12px;border-radius:5px;background:#fff;padding:2px 7px}.aside-bottom{margin-top:auto;border-top:1px solid #edf0f5;padding-top:22px;color:#64758a;font-size:12px}.aside-bottom p{font-size:10px;color:#96a0ad;margin:8px 0 20px}.local-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5bb392;margin-right:5px}.quiet{background:none;color:#718097;font-size:12px;padding:7px}.quiet:hover{background:#f1f5fa}main{margin-left:244px;padding:0 54px;max-width:1500px}header{height:89px;border-bottom:1px solid #e5eaf1;display:flex;align-items:center;justify-content:space-between;color:#91a0b2;font-size:12px}.crumb{color:#65758a}.crumb i{margin:0 14px;font-style:normal;color:#b7c1d0}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 34px;gap:20px}.eyebrow{color:#4480c8;font-size:9px;letter-spacing:2px;font-weight:650}h1{font-size:30px;font-weight:650;letter-spacing:-1px;margin:13px 0}p{line-height:1.7}.intro p{color:#8591a3;font-size:13px;margin:0}.primary{background:#2775e7;color:white;border-radius:8px;padding:12px 20px;font-weight:550;white-space:nowrap;box-shadow:0 4px 10px #2877ed18}.primary:hover{background:#1d62c7;transform:translateY(-1px)}.stats{display:grid;grid-template-columns:1fr 1fr 1fr 1.7fr;background:white;border:1px solid #e6ebf2;border-radius:13px;padding:24px 12px;margin-bottom:30px}.stats>div{padding:0 24px;border-right:1px solid #edf0f5;display:flex;flex-direction:column;gap:10px}.stats span{color:#8692a3;font-size:12px}.stats strong{font-size:29px;font-weight:600;line-height:1}.stats .tip{border:0;flex-direction:row;align-items:center;gap:14px}.tip .tip-icon{border-radius:10px;background:#eef5ff;color:#467fce;padding:11px;font-size:23px}.tip p{font-size:11px;color:#8c98a7;margin:0;white-space:nowrap}.tip b{color:#536984;font-weight:550;line-height:2.4}.board{background:white;border:1px solid #e5ebf3;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #2f486504}.toolbar{padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f6}h2{font-size:16px;margin:0;font-weight:600}.toolbar h2 span{margin-left:10px;font-size:11px;color:#6e819b;background:#f0f4f8;padding:3px 7px;border-radius:5px}.toolbar-right{display:flex;align-items:center;gap:20px}.order-tag{color:#8598b0;font-size:11px;white-space:nowrap}input,select,textarea{border:1px solid #dfe6f0;border-radius:7px;padding:10px 12px;background:white;color:#26354c;outline:none}input:focus,textarea:focus,select:focus{border-color:#5b96ef;box-shadow:0 0 0 3px #eef5ff}#search{background:#f8fafc;border-color:#edf1f6;width:180px;font-size:12px}.task{display:flex;align-items:center;gap:15px;min-height:91px;padding:18px 23px;border-bottom:1px solid #edf1f6;background:white}.task:hover{background:#fafcff}.task.dragging{opacity:.35}.task.drop-target{box-shadow:inset 0 3px #3180f2}.grip{background:none;color:#b8c3d1;font-size:20px;letter-spacing:-3px;padding:9px 5px;cursor:grab;touch-action:none}.check{height:20px;width:20px;border:1.5px solid #ccd7e5;border-radius:6px;background:white;flex-shrink:0;color:white;display:grid;place-items:center;padding:0}.check:hover{border-color:#2d78e7}.task.done .check{background:#6ea796;border-color:#6ea796}.content{flex:1;min-width:0}.task-title{display:block;white-space:normal;overflow-wrap:anywhere;background:transparent;text-align:left;color:#2c3b50;padding:0;font-size:14px;line-height:1.6}.task.done .task-title{text-decoration:line-through;color:#9aa7b5}.meta{display:flex;align-items:center;gap:12px;margin-top:7px;font-size:10px;color:#98a4b3}.badge{background:#fff4eb;color:#bf8352;padding:2px 6px;border-radius:4px}.late{color:#d57872}.today{color:#4381cf}.arrows{display:flex;gap:4px}.icon{border:1px solid #e9eef5;border-radius:6px;background:white;color:#8e9db1;width:29px;height:29px;display:inline-grid;place-items:center}.icon:hover:not(:disabled){background:#edf4ff;color:#2a74dd}.delete{margin-left:5px}.delete:hover{color:#bf5c5c!important;background:#fff0f0!important}.rank{color:#c0cad7;font-size:10px;min-width:18px}.bottom-add{width:100%;padding:20px 26px;text-align:left;background:white;color:#6b93ca;font-size:12px}.bottom-add:hover{background:#f4f8ff}.foot{text-align:center;color:#b0bac7;font-size:10px;letter-spacing:1px;margin:25px}.empty{padding:55px 24px;text-align:center;color:#94a1b3}.empty .empty-icon{font-size:32px;color:#83a8de;margin-bottom:15px}.empty h3{color:#586d88;font-size:17px;font-weight:500}.empty p{font-size:12px}.empty button{margin-top:10px}dialog{border:1px solid #e0e8f2;border-radius:17px;padding:28px;width:480px;max-width:calc(100vw - 32px);box-shadow:0 30px 100px #1c315030}dialog::backdrop{background:#1c2e4c50;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#78869a;margin-top:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}textarea{resize:vertical}.dialog-note{font-size:11px;color:#9ba7b5}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.secondary{background:#f0f4f9;color:#708097;padding:11px 22px;border-radius:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#243750;color:white;border-radius:9px;padding:12px 22px;box-shadow:0 5px 25px #20304720;display:none;font-size:12px;max-width:90vw;z-index:9}
@media(min-width:1600px){main{margin-right:auto;margin-left:calc(244px + (100vw - 1600px)/2)}}@media(max-width:1000px){aside{width:200px;padding:28px 15px}main{margin-left:200px;padding:0 28px}.stats .tip{display:none}.stats{grid-template-columns:repeat(3,1fr)}.stats>div:nth-child(3){border:0}h1{font-size:25px}.order-tag{display:none}.beta{display:none}}@media(max-width:700px){aside{position:relative;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid #e6ecf3;display:block}.brand{font-size:22px}.logo{width:32px;height:32px}.aside-label,.aside-bottom p,.local-dot{display:none}nav{display:flex;gap:10px;margin-top:20px}.nav{margin:0}.aside-bottom{position:absolute;right:14px;top:18px;margin:0;padding:0;border:0;font-size:0}.quiet{font-size:10px;padding:5px}main{margin:0;padding:0 16px}header{height:55px;font-size:10px}.intro{padding:27px 0;align-items:flex-start;flex-direction:column;gap:18px}h1{font-size:25px}.intro .primary{width:100%}.stats{margin-bottom:18px;padding:18px 5px}.stats>div{padding:0 15px}.stats strong{font-size:24px}.toolbar{padding:17px 15px}#search{width:135px}.task{padding:16px 10px;gap:9px}.rank{display:none}.arrows{gap:2px}.icon{width:26px;height:28px}.task-title{font-size:13px}.meta{gap:6px;flex-wrap:wrap}.grip{padding:8px 2px;font-size:17px}.delete{margin-left:1px}.eyebrow{font-size:8px}}

#sync{color:#61718a;font-size:13px}#migration{padding:16px;background:#edf5ff;border-radius:12px;margin:12px 0}#migration[hidden]{display:none}

#identity{color:#2563eb;font-size:14px}

.permission-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#52627b}.permission-bar [hidden]{display:none}#rolesDialog{width:min(620px,92vw)}.role-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eee}.role-row span{flex:1}.role-row select{width:120px}button:disabled{opacity:.45;cursor:not-allowed}

#viewerBox{border:1px solid #dce3ec;border-radius:10px;margin-top:16px;padding:12px}#viewerBox[hidden]{display:none}#viewerChoices{display:flex;flex-wrap:wrap;gap:12px}.viewer-choice{display:flex;align-items:center;gap:8px;margin:4px 0}.viewer-choice input{width:auto;margin:0}#viewerHelp{font-size:12px;color:#64748b}#editor{max-height:90vh;overflow:auto}

.stat-link{display:block;width:100%;padding:0;background:transparent;text-align:left;color:inherit;border-radius:6px}.stat-link:hover{background:#edf4ff}.stat-link:hover span{color:#256ddd}.board{scroll-margin-top:16px}

.member-filter{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#eaf2ff;padding:16px 20px;border-radius:12px;margin-bottom:16px}.member-filter[hidden]{display:none}.member-filter p{font-size:12px;color:#65758d;margin:6px 0 0}.member-filter a{color:#256ddd;white-space:nowrap}

/* Keep authentication and filtering state internal; simplify the visible workspace. */
#roleStatus,#identity,#sync,#memberFilter{display:none!important}
.permission-bar{justify-content:flex-end}
.permission-bar:has(#permissions[hidden]){display:none}
.stat-link span,.stat-link strong{display:block}

/* Keep default recipient selection active while hiding the member picker. */
#viewerBox{display:none!important}

/* Keep actions within the visible viewport when a software keyboard opens. */
#editor{padding:0;position:fixed;top:var(--editor-top,16px);bottom:auto;left:0;right:0;margin:0 auto;max-height:var(--editor-height,calc(100dvh - 32px));overflow:hidden}
#editor #form{display:flex;flex-direction:column;max-height:var(--editor-height,calc(100dvh - 32px));min-height:0}
#editor .dialog-head{flex-shrink:0;padding:18px 24px;margin:0;border-bottom:1px solid #edf0f5}
#editor .dialog-head h2{margin:0;font-size:20px}
#editor .editor-fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px 16px;scroll-padding:16px}
#editor .dialog-actions{flex-shrink:0;margin:0;padding:12px 24px max(12px,env(safe-area-inset-bottom));background:white;border-top:1px solid #e5eaf1}
#editor .dialog-actions button{min-height:44px}
@media(max-width:700px){#editor input,#editor textarea,#editor select{font-size:16px}#editor .dialog-actions .primary{flex:1}}
