*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--bg-card: #161b22;--bg-hover: #1c2333;--bg-selected: #1f2d40;--border: #30363d;--border-focus:#58a6ff;--text: #c9d1d9;--text-dim: #8b949e;--text-bright: #f0f6fc;--accent: #58a6ff;--green: #3fb950;--yellow: #d29922;--red: #f85149;--font: "Courier New", Courier, monospace}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.setup-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.setup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2.5rem 2rem;width:360px;text-align:center}.setup-logo{font-size:2.5rem;color:var(--accent);margin-bottom:.5rem}.setup-card h1{color:var(--text-bright);font-size:1.5rem;margin-bottom:.5rem;letter-spacing:.05em}.setup-card>p{color:var(--text-dim);font-size:.85rem;margin-bottom:1.5rem}.setup-card input{width:100%;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-bright);font-family:var(--font);font-size:.95rem;margin-bottom:.5rem;transition:border-color .15s}.setup-card input:focus{outline:none;border-color:var(--border-focus)}.setup-card button{width:100%;padding:.75rem;background:var(--accent);border:none;border-radius:4px;color:#000;font-family:var(--font);font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s;margin-top:.25rem}.setup-card button:disabled{opacity:.4;cursor:default}.setup-card button:not(:disabled):hover{opacity:.85}.error{color:var(--red);font-size:.8rem;margin-bottom:.5rem;text-align:left}.dashboard{height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;gap:1rem}.header-left{display:flex;align-items:center;gap:.75rem}.app-title{color:var(--accent);font-weight:700;font-size:.95rem;white-space:nowrap}.user-badge{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1rem .5rem;color:var(--text-dim);font-size:.8rem}.header-right{display:flex;align-items:center;gap:.75rem}.last-updated{color:var(--text-dim);font-size:.75rem;white-space:nowrap}.api-error{color:var(--red);font-size:.75rem}.concise-badge{font-size:.7rem;padding:2px 7px;border-radius:10px;border:1px solid var(--border);font-weight:600;letter-spacing:.03em}.concise-badge.is-on{color:var(--green, #4caf50);border-color:var(--green, #4caf50)}.concise-badge.is-off{color:var(--text-dim)}.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-family:var(--font);font-size:.78rem;padding:.2rem .6rem;cursor:pointer;white-space:nowrap}.btn-ghost:hover{border-color:var(--border-focus);color:var(--text)}.panels{flex:1;display:flex;overflow:hidden;min-height:0}.panel{display:flex;flex-direction:column;overflow:hidden;transition:border-color .1s}.panel-lists{width:220px;flex-shrink:0;border-right:2px solid var(--border)}.panel-tasks{flex:1;border-left:2px solid transparent}.panel-lists.is-active{border-right-color:var(--border-focus)}.panel-tasks.is-active{border-left-color:var(--border-focus)}.panel-lists.is-active .panel-head,.panel-tasks.is-active .panel-head{background:var(--bg-selected);color:var(--accent)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;background:var(--bg-card);border-bottom:1px solid var(--border);color:var(--text-bright);font-weight:700;font-size:.85rem;flex-shrink:0}.panel-count{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:0 .45rem;color:var(--text-dim);font-size:.75rem;font-weight:400}.panel-body{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.panel-foot{padding:.3rem .75rem;background:var(--bg-card);border-top:1px solid var(--border);color:var(--text-dim);font-size:.72rem;flex-shrink:0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:2.5rem 1rem;color:var(--text-dim);font-size:.85rem;text-align:center}.empty-hint{font-size:.75rem;opacity:.7}.row{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .6rem;cursor:pointer;border-left:3px solid transparent;transition:background .08s;-webkit-user-select:none;user-select:none}.row:hover{background:var(--bg-hover)}.row.is-selected{background:var(--bg-selected);border-left-color:var(--accent)}.row-icon{color:var(--accent);font-size:.7rem;flex-shrink:0;margin-top:3px;width:.7rem;text-align:center}.row-name{flex:1;min-width:0;color:var(--text);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-task-count{flex-shrink:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:0 .4rem;color:var(--accent);font-size:.72rem;line-height:1.6;align-self:center}.row-list.is-selected .row-name{color:var(--text-bright)}.task-check{font-size:.9rem;flex-shrink:0;margin-top:1px;color:var(--text-dim);width:1rem;text-align:center}.task-check.checked{color:var(--green)}.task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.task-title{color:var(--text);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-task.is-selected .task-title{color:var(--text-bright)}.row-task.is-done .task-title{text-decoration:line-through;opacity:.55}.task-desc{color:var(--text-dim);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-due{color:var(--yellow);font-size:.72rem}.task-due.overdue{color:var(--red)}.task-priority{flex-shrink:0;font-size:.78rem;font-weight:700;align-self:center}.task-priority.p2{color:var(--yellow)}.task-priority.p3{color:var(--red)}.panel-tasks .task-check{font-size:var(--task-fs, .9rem)}.panel-tasks .task-title{font-size:var(--task-fs, .88rem)}.panel-tasks .task-desc{font-size:calc(var(--task-fs, .88rem) * .85)}.panel-tasks .task-due{font-size:calc(var(--task-fs, .88rem) * .82)}.panel-tasks .task-priority{font-size:calc(var(--task-fs, .88rem) * .88)}.row-edit{flex-shrink:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-dim);font-family:var(--font);font-size:.85rem;padding:0 .4rem;line-height:1.4;cursor:pointer;align-self:center;opacity:0;transition:opacity .1s,color .1s,border-color .1s}.row:hover .row-edit,.row.is-selected .row-edit{opacity:1}.row-edit:hover{color:var(--accent);border-color:var(--border)}.modal-checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text);font-size:.88rem;margin-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-checkbox input[type=checkbox]{width:auto;margin:0;cursor:pointer}.footer{display:flex;gap:1.25rem;padding:.3rem 1rem;background:var(--bg-card);border-top:1px solid var(--border);color:var(--text-dim);font-size:.72rem;flex-shrink:0;flex-wrap:wrap}kbd{display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:0 .3rem;font-family:var(--font);font-size:.7rem;color:var(--text);line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg-card);border:1px solid var(--border-focus);border-radius:8px;padding:1.25rem;width:400px;max-width:92vw}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;color:var(--text-bright);font-weight:700;font-size:.9rem}.modal-close{background:none;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:0 .25rem;line-height:1}.modal-close:hover{color:var(--text)}.modal input,.modal select{display:block;width:100%;padding:.55rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font);font-size:.88rem;margin-bottom:.5rem;transition:border-color .15s}.modal input:focus,.modal select:focus{outline:none;border-color:var(--border-focus)}.modal select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.modal-buttons{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.btn-primary,.btn-secondary,.btn-danger{padding:.45rem .9rem;border-radius:4px;font-family:var(--font);font-size:.82rem;cursor:pointer;transition:opacity .15s}.btn-primary{background:var(--accent);border:none;color:#000;font-weight:700}.btn-primary:disabled{opacity:.4;cursor:default}.btn-primary:not(:disabled):hover{opacity:.85}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-dim)}.btn-secondary:hover{border-color:var(--text-dim);color:var(--text)}.btn-danger{background:var(--red);border:none;color:#fff;font-weight:700}.btn-danger:hover{opacity:.85}.confirm-message{color:var(--text);font-size:.9rem;margin-bottom:1rem;padding:.5rem 0}.mobile-back,.mobile-action{display:none}.panel-head-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){body{font-size:15px}.header{flex-wrap:wrap;gap:.4rem .6rem;padding:.4rem .6rem}.header-left,.header-right{gap:.5rem;flex-wrap:wrap}.last-updated,.concise-badge{display:none}.user-badge{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panels{position:relative}.panels[data-active-panel=lists] .panel-tasks,.panels[data-active-panel=tasks] .panel-lists{display:none}.panel-lists,.panel-tasks{width:100%;flex:1 1 auto;border-left:none!important;border-right:none!important}.row{padding:.7rem .75rem;gap:.6rem}.row-name,.task-title{font-size:.95rem;white-space:normal;word-break:break-word}.task-desc{white-space:normal;word-break:break-word}.task-check{font-size:1.1rem;width:1.2rem}.mobile-back,.mobile-action{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--accent);font-family:var(--font);font-size:.8rem;padding:.3rem .6rem;cursor:pointer;white-space:nowrap}.mobile-back:active,.mobile-action:active{background:var(--bg-selected)}.panel-head{gap:.5rem;padding:.5rem .6rem}.panel-foot,.footer{display:none}.row-edit{opacity:1;padding:.3rem .55rem;font-size:1rem;border-color:var(--border)}.setup-card{width:100%;max-width:360px;margin:0 1rem;padding:2rem 1.25rem}.modal-overlay{align-items:flex-end}.modal{width:100%;max-width:100%;border-radius:12px 12px 0 0;padding:1rem 1rem 1.25rem}.modal input,.modal select{font-size:16px;padding:.7rem .75rem}.modal-buttons{flex-direction:column-reverse}.modal-buttons .btn-primary,.modal-buttons .btn-secondary,.modal-buttons .btn-danger{width:100%;padding:.7rem;font-size:.95rem}}
