*{box-sizing:border-box}body{margin:0;font:15px/1.4 system-ui,sans-serif;color:#1c1c1e;background:#f6f6f8}.app{display:flex;min-height:100vh}aside{width:260px;padding:16px;background:#fff;border-right:1px solid #e3e3e8;display:flex;flex-direction:column;gap:12px}aside h1{font-size:18px;margin:0}main{flex:1;padding:24px 32px;max-width:820px}input,select,textarea,button{font:inherit;padding:6px 8px;border:1px solid #d0d0d6;border-radius:6px;background:#fff}input[type=checkbox]{width:18px;height:18px}button{cursor:pointer}.who{display:flex;flex-direction:column;gap:6px}.projects{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.projects li{padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.projects li:hover{background:#f0f0f4}.projects li.active{background:#e4ecff;font-weight:600}.count{color:#888;font-weight:400}header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}h2{margin:0 0 12px}.filters{display:flex;gap:6px}.filters .on{background:#1c1c1e;color:#fff;border-color:#1c1c1e}.add{width:100%;margin:8px 0 16px;padding:10px 12px}.todos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.todos>li{background:#fff;border:1px solid #e3e3e8;border-radius:8px;padding:8px 10px}.row{display:flex;align-items:center;gap:10px}.title{flex:1;cursor:pointer}.done .title{text-decoration:line-through;color:#999}.due{font-size:12px;color:#666}.overdue{color:#c62828;font-weight:600}.x{color:#888}.detail{display:flex;flex-direction:column;gap:8px;padding:10px 0 2px 28px}.detail textarea{min-height:70px}.empty{color:#888}
