:root{color:#1f2937;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--line: #e7ebf1;--line-strong: #d8dee8;--blue: #1f8edc;--blue-deep: #1677bf;--text-soft: #687385;--surface: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.app-shell{min-height:100vh;padding:18px 16px 28px}.todo-surface{width:min(1760px,100%);margin:0 auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 28px #21334e0f}.tabs{display:flex;align-items:center;gap:2px;min-height:62px;border-bottom:1px solid var(--line-strong);padding:0 24px}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:116px;height:62px;border:0;background:transparent;color:#222b3a;cursor:pointer;font-size:16px}.tab.is-active{color:var(--blue)}.tab.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--blue);content:""}.tab strong{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#ee4a4b;color:#fff;font-size:15px;line-height:1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 14px}.filters,.tools{display:flex;align-items:center;gap:8px}.filter-chip,.batch-btn,.icon-btn,.batch-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);background:#fff;color:#3d4858;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,box-shadow .14s ease}.filter-chip{min-width:84px;height:40px;border-radius:20px;font-size:15px}.filter-chip.is-selected{border-color:#d6dcec;background:#f0f3fb;color:#53627b}.batch-btn{height:40px;padding:0 20px;border-radius:2px;color:#4f5968}.batch-btn.is-active{border-color:#cdd8e9;background:#eef4fc;color:#2d6fb2}.batch-actions{display:inline-flex;height:40px;border:1px solid var(--line-strong);border-left:0;background:#fff}.batch-actions button{min-width:68px;height:38px;border:0;border-right:1px solid var(--line);border-radius:0;color:#465265}.batch-actions button:last-child{border-right:0}.search-box{display:flex;width:min(450px,34vw);height:40px;align-items:center;gap:10px;border:1px solid var(--line-strong);background:#fff;color:#8c96a6;padding:0 14px}.search-box input{min-width:0;flex:1;border:0;outline:0;color:#283241;font-size:16px}.search-box input::placeholder{color:#9aa3af}.icon-btn{width:40px;height:40px;border-radius:2px}.filter-chip:hover,.batch-btn:hover,.icon-btn:hover,.batch-actions button:hover{border-color:#aacde8;color:var(--blue-deep)}.table-card{border-top:1px solid var(--line)}.table-head,.todo-row{display:grid;grid-template-columns:minmax(320px,2.05fr) minmax(190px,1.08fr) minmax(96px,.58fr) minmax(118px,.68fr) minmax(156px,.76fr) minmax(220px,.92fr);align-items:center}.table-head.has-select,.todo-row.has-select{grid-template-columns:58px minmax(320px,2.05fr) minmax(190px,1.08fr) minmax(96px,.58fr) minmax(118px,.68fr) minmax(156px,.76fr) minmax(220px,.92fr)}.table-head{min-height:60px;background:#fbfcfe;border-bottom:1px solid var(--line);color:#151d2b;font-size:16px}.table-head span,.todo-row span{min-width:0;border-right:1px solid var(--line);padding:0 16px}.table-head span{font-weight:500}.table-head span:last-child,.todo-row span:last-of-type{border-right:0}.todo-list{background:#fff}.todo-row{width:100%;min-height:60px;border:0;background:#fff;color:#445064;font-size:15px;text-align:left;border-bottom:1px solid var(--line)}.todo-row:hover{background:#f8fbff}.todo-row:focus-visible{position:relative;z-index:1;outline:2px solid #8ac7f4;outline-offset:-2px}.todo-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-cell{color:var(--blue);font-weight:500}.select-cell{display:flex;align-items:center;justify-content:center;height:100%;border-right:1px solid var(--line)}.select-cell input{width:17px;height:17px;margin:0;accent-color:#4d9af0}@media (max-width: 1180px){.app-shell{padding:10px}.table-card{overflow-x:auto}.table-head,.todo-row{min-width:1220px}}@media (max-width: 760px){.tabs{overflow-x:auto;padding:0 10px}.tab{min-width:84px}.toolbar{align-items:stretch;flex-direction:column}.tools{display:grid;grid-template-columns:auto minmax(0,1fr) 40px;width:100%}.batch-actions{grid-column:2 / 4;justify-self:start}.batch-btn{padding:0}.search-box{width:100%}}
