:root{--tg-theme-bg-color:#fff;--tg-theme-text-color:#000;--tg-theme-hint-color:#999;--tg-theme-link-color:#2481cc;--tg-theme-button-color:#2481cc;--tg-theme-button-text-color:#fff;--accent:#2a7fff;--bg:#f0f2f5;--card:#fff;--border:#e3e6e8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--tg-theme-text-color,#000);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.app-shell{flex-direction:column;flex:1;min-height:100vh;display:flex}.tab-content{flex:1;padding:16px 16px 70px;overflow-y:auto}.tab-bar{background:var(--card);border-top:1px solid var(--border);z-index:100;width:100%;max-width:480px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-btn{color:var(--tg-theme-hint-color,#999);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px;font-size:11px;display:flex}.tab-btn.active{color:var(--accent);font-weight:600}.tab-btn svg{width:22px;height:22px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:14px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn.secondary{background:var(--bg);color:var(--tg-theme-text-color,#000);border:1px solid var(--border)}.btn:disabled{opacity:.5;cursor:default}.input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--tg-theme-text-color,#000);border-radius:10px;margin-bottom:10px;padding:10px 12px;font-size:14px}.textarea{border:1px solid var(--border);background:var(--card);width:100%;color:var(--tg-theme-text-color,#000);resize:vertical;border-radius:10px;min-height:80px;margin-bottom:10px;padding:10px 12px;font-family:inherit;font-size:14px}.title{margin-bottom:12px;font-size:18px;font-weight:700}.subtitle{color:var(--tg-theme-hint-color,#999);margin-bottom:8px;font-size:13px}.chat-box{flex-direction:column;gap:8px;display:flex}.msg{border-radius:14px;max-width:85%;padding:10px 12px;font-size:14px;line-height:1.4}.msg.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg.bot{background:var(--bg);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-row{background:var(--card);border-top:1px solid var(--border);gap:8px;width:100%;max-width:480px;padding:10px 16px;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.chat-input-row .input{flex:1;margin-bottom:0}.chat-input-row .btn{width:auto;padding:10px 16px}.list-item{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;display:flex}.list-item:hover{border-color:var(--accent)}.list-item-title{font-size:14px;font-weight:600}.list-item-sub{color:var(--tg-theme-hint-color,#999);font-size:12px}.badge{border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.qr-box{background:#fff;border-radius:12px;justify-content:center;margin:12px 0;padding:16px;display:flex}.status-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.status-row:last-child{border-bottom:none}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.section-title{margin:16px 0 8px;font-size:15px;font-weight:700}.flex-row{gap:8px;display:flex}.flex-row>*{flex:1}.code-block{color:#d4d4d4;background:#1e1e1e;border-radius:8px;margin:8px 0;padding:12px;font-size:13px;line-height:1.5;overflow-x:auto}.code-block code{font-family:SF Mono,Fira Code,monospace}.inline-code{background:var(--bg);color:#e06c75;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.msg pre{margin:0}.msg code{white-space:pre-wrap;word-break:break-word}.typing-indicator{gap:4px;padding:8px;display:flex}.typing-indicator span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.modal-backdrop{z-index:1000;background:#00000080;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.kanban-column{background:var(--bg);border-radius:12px;flex-direction:column;min-width:280px;max-width:280px;padding:8px;display:flex}.swipe-actions{color:#fff;opacity:0;background:#c0392b;border-radius:0 10px 10px 0;align-items:center;padding:0 16px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0;right:0}.list-item.swiping .swipe-actions{opacity:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--tg-theme-hint-color)}.input:focus,.textarea:focus,select.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)33;outline:none}.badge{white-space:nowrap;border-radius:12px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.green{color:#1a7f4b;background:#e7f7ee}.badge.yellow{color:#b86e00;background:#fff7e6}.badge.red{color:#c0392b;background:#fde8e8}.badge.blue{color:#1a5fb4;background:#e7f0fe}.badge.gray{color:#666;background:#f0f0f0}.chat-input-row textarea{font-family:inherit;line-height:1.5}.list-item:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.list-item:active{transform:translateY(0)}.subtask-item{background:var(--bg);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background .15s;display:flex}.subtask-item:hover{background:var(--border)}.subtask-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.subtask-item.completed label{color:var(--tg-theme-hint-color);text-decoration:line-through}.empty-state{text-align:center;color:var(--tg-theme-hint-color);padding:40px 20px}.empty-state svg{opacity:.5;width:64px;height:64px;margin-bottom:12px}.priority-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.priority-dot.high{background:#c0392b}.priority-dot.medium{background:#b86e00}.priority-dot.low{background:#666}
